package com.crcc.common.util;

import com.crcc.common.constant.CommonConsts;
import org.springframework.web.multipart.MultipartFile;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.util.Map;
import java.util.UUID;

public class CanvasViewUtils {

    //色差范围0~255
    public static int color_range = 210;

    /**
     * 合成身份证背面
     * @author 爱踢攻城狮
     * @date 2018-8-2
     * @param infos
     * @return 合成结果BASE64
     * @throws Exception
     */
    public static String loadIDCardBacked(Map infos,String backUrl) throws Exception {
        //输出图片
        ByteArrayOutputStream outImgStream = new ByteArrayOutputStream();
        try{
            //获取素材
            Image img = ImageIO.read(BASE64ToStream(getIDCardBacked(backUrl)));
            int imgWidth = img.getWidth(null);
            int imgHeight = img.getHeight(null);
            //获取画笔
            BufferedImage bufImg = new BufferedImage(imgWidth, imgHeight, BufferedImage.TYPE_INT_RGB);
            Graphics2D g = bufImg.createGraphics();
            g.drawImage(img, 0, 0, imgWidth, imgHeight, null);
            //设置文字格式
            Font font = new Font("微软雅黑", Font.BOLD, 18);
            g.setFont(font);
            g.setColor(Color.BLACK);

            g.drawString(String.valueOf(infos.get("ppolice")), 215, 259);
            g.drawString(infos.get("peffDate") + "-" + infos.get("pexpDate"), 215, 301);
            g.dispose();

            ImageIO.write(bufImg, "png", outImgStream);
            outImgStream.flush();
            outImgStream.close();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            outImgStream.flush();
            outImgStream.close();
        }

        return StreamToBASE64(outImgStream);
    }

    /**
     * 合成身份证正面
     * @author 爱踢攻城狮
     * @date 2018-8-3
     * @param infos
     * @return 合成结果BASE64
     * @throws Exception
     */
    public static String loadIDCardFaced(Map infos,String faceUrl) throws Exception {

        String pName = String.valueOf(infos.get("pname"));
        String pSex = String.valueOf(infos.get("psex"));
        String pNation = String.valueOf(infos.get("pnation"));
        String pBorn = String.valueOf(infos.get("pborn"));
        String pAddress = String.valueOf(infos.get("paddress"));
        String pCardNo = String.valueOf(infos.get("pcardNo"));
        String pCardImg = String.valueOf(infos.get("pcardImg"));
        BufferedImage cardImg = null;
        //输出图片
        ByteArrayOutputStream outImgStream = new ByteArrayOutputStream();
        try{
            if (pCardImg.indexOf(",") == -1){
                cardImg = ImageIO.read(BASE64ToStream(pCardImg));
            }else {
                cardImg = ImageIO.read(BASE64ToStream(pCardImg.split(",")[CommonConsts.ONE]));
            }
            cardImg = clearBackGroud(cardImg);
            //获取素材
            Image img = ImageIO.read(BASE64ToStream(getIDCardFaced(faceUrl)));
            int imgWidth = img.getWidth(null);
            int imgHeight = img.getHeight(null);
            //获取画笔
            BufferedImage bufImg = new BufferedImage(imgWidth, imgHeight, BufferedImage.TYPE_INT_RGB);
            Graphics2D g = bufImg.createGraphics();
            g.drawImage(img, 0, 0, imgWidth, imgHeight, null);
            //设置文字格式
            Font font = new Font("微软雅黑", Font.BOLD, 20);
            g.setFont(font);
            g.setColor(Color.BLACK);
            //姓名
//        g.drawString(pName, 90, 68);
            drawString(pName, 90, 68, 2.4, g);
            //其他
            g.setFont(new Font("微软雅黑", Font.PLAIN, 18));
            g.drawString(pSex, 90, 107);
            g.drawString(pNation, 205, 107);
            g.drawString(Integer.valueOf(pBorn.substring(0, 4)) + "", 90, 146);
            g.drawString(Integer.valueOf(pBorn.substring(4, 6)) + "", 180, 146);
            g.drawString(Integer.valueOf(pBorn.substring(6)) + "", 225, 146);
//        g.drawString(pAddress.substring(0, 11), 90, 191);
            drawString(pAddress.substring(0, 11), 90, 191, 1.2, g);
            if (23 > pAddress.length()) {
                g.drawString(pAddress.substring(11), 90, 214);
//            drawString(pAddress.substring(11), 90, 214, 1.2, g);
            }
            else {
                g.drawString(pAddress.substring(11, 22), 90, 214);
                g.drawString(pAddress.substring(22), 90, 234);
//            drawString(pAddress.substring(11, 22), 90, 214, 1.2, g);
//            drawString(pAddress.substring(22), 90, 234, 1.2, g);
            }
            //身份证号
            g.setFont(new Font("微软雅黑", Font.PLAIN, 20));
            //        g.drawString(pCardNo, 168, 271);
            drawString(pCardNo, 168, 296, 1.4, g);
            //头像
            g.drawImage(cardImg, 318, 53, 163, 197, null);
            g.dispose();

            ImageIO.write(bufImg, "png", outImgStream);
            outImgStream.flush();
            outImgStream.close();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            outImgStream.flush();
            outImgStream.close();
        }
        return StreamToBASE64(outImgStream);
    }
    /**
     * 自定义文字间距
     * @author 爱踢攻城狮
     * @date 2018-8-3
     * @param str 文字
     * @param x 起始位置x坐标
     * @param y 起始位置y坐标
     * @param rate 间距倍率
     * @param g 画笔
     */
    public static void drawString(String str, int x, int y, double rate, Graphics2D g) {
        String tempStr = "";
        int orgStringWight = g.getFontMetrics().stringWidth(str);
        int orgStringLength = str.length();
        int tempx = x;
        int tempy = y;
        while (str.length() > 0) {
            tempStr = str.substring(0, 1);
            str = str.substring(1);
            g.drawString(tempStr, tempx, tempy);
            tempx = (int) (tempx + (double) orgStringWight / (double) orgStringLength * rate);
        }
    }

    /**
     * 去底色
     * @author 爱踢攻城狮
     * @date 2018-8-3
     * @param image
     * @return
     */
    public static BufferedImage clearBackGroud(BufferedImage image) {
        // 高度和宽度
        int height = image.getHeight();
        int width = image.getWidth();

        ImageIcon imageIcon = new ImageIcon(image);
        BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR);
        Graphics2D g2D = (Graphics2D) bufferedImage.getGraphics(); // 获取画笔
        g2D.drawImage(imageIcon.getImage(), 0, 0, null); // 绘制Image的图片

        int alpha = 0; // 图片透明度
        // 外层遍历是Y轴的像素
        for (int y = bufferedImage.getMinY(); y < bufferedImage.getHeight(); y++) {
            // 内层遍历是X轴的像素
            for (int x = bufferedImage.getMinX(); x < bufferedImage.getWidth(); x++) {
                int rgb = bufferedImage.getRGB(x, y);
                // 对当前颜色判断是否在指定区间内
                if (colorInRange(rgb)) {
                    alpha = 0;
                }
                else {
                    // 设置为不透明
                    alpha = 255;
                }
                // #AARRGGBB 最前两位为透明度
                rgb = (alpha << 24) | (rgb & 0x00ffffff);
                bufferedImage.setRGB(x, y, rgb);
            }
        }
        // 绘制设置了RGB的新图片
        g2D.drawImage(bufferedImage, 0, 0, null);
        g2D.dispose();
        return bufferedImage;
    }

    /**
     * 判断是背景还是内容
     * @author 爱踢攻城狮
     * @date 2018-8-3
     * @param color
     * @return
     */
    public static boolean colorInRange(int color) {
        int red = (color & 0xff0000) >> 16;// 获取color(RGB)中R位
        int green = (color & 0x00ff00) >> 8;// 获取color(RGB)中G位
        int blue = (color & 0x0000ff);// 获取color(RGB)中B位
        // 通过RGB三分量来判断当前颜色是否在指定的颜色区间内
        return red >= color_range && green >= color_range && blue >= color_range;
    }

    /**
     * 获取身份证正面素材
     * @author 爱踢攻城狮
     * @date 2018-8-2
     * @return 素材的base64编码
     */
    public static String getIDCardFaced(String faceUrl) {
        try {
            return String.valueOf(getImageStr(faceUrl));
        }
        catch (Exception e) {
            return null;
        }
    }

    /**
     * 获取身份证背面素材
     * @author 爱踢攻城狮
     * @date 2018-8-2
     * @return 素材的base64编码
     */
    public static String getIDCardBacked(String backUrl) {
        try {
            return String.valueOf(getImageStr(backUrl));
        }
        catch (Exception e) {
            return null;
        }
    }
    /**
     * base64转化为输入流
     * @author 爱踢攻城狮
     * @date 2018-6-1
     * @param base64Str
     * @return
     * @throws IOException
     */
    public static InputStream BASE64ToStream(String base64Str) throws IOException {
        byte[] bytes = new BASE64Decoder().decodeBuffer(base64Str);
        return new ByteArrayInputStream(bytes);
    }
    /**
     * 输出流转为base64
     * @author 爱踢攻城狮
     * @date 2018-8-2
     * @param stream
     * @return
     */
    public static String StreamToBASE64(ByteArrayOutputStream stream) {
        return new BASE64Encoder().encode(stream.toByteArray());
    }


    /**
     *  base64字符串转成MultipartFile格式
     * @param base64
     * @return
     */
    public static MultipartFile base64ToMultipart(String base64) {
        try {
            String[] baseStrs = base64.split(",");

            BASE64Decoder decoder = new BASE64Decoder();
            byte[] b = new byte[0];
            b = decoder.decodeBuffer(baseStrs[1]);

            for(int i = 0; i < b.length; ++i) {
                if (b[i] < 0) {
                    b[i] += 256;
                }
            }

            return new BASE64DecodedMultipartFile(b, baseStrs[0]);
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }

    //base64字符串转化成图片
    public static File base64ToFile(String base64) throws Exception {
        if(base64.contains("data:image")){
            base64 = base64.substring(base64.indexOf(",")+1);
        }
        base64 = base64.replace("\r\n", "");
        //创建文件目录
        String prefix=".jpeg";
        File file = File.createTempFile(UUID.randomUUID().toString(), prefix);
        BufferedOutputStream bos = null;
        FileOutputStream fos = null;
        try {
            BASE64Decoder decoder = new BASE64Decoder();
            byte[] bytes =  decoder.decodeBuffer(base64);
            fos = new FileOutputStream(file);
            bos = new BufferedOutputStream(fos);
            bos.write(bytes);
        }finally {
            if (bos != null) {
                try {
                    bos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (fos != null) {
                try {
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return file;
    }


    /**
     * 获取图片base64码
     * @param imgFile 图片地址
     * @return
     */
    public static String getImageStr(String imgFile) {
        InputStream inputStream = null;
        byte[] data = null;
        try {
            File file =imageUtil.getFile(imgFile);
            inputStream = new FileInputStream(file);
            data = new byte[inputStream.available()];
            inputStream.read(data);
            inputStream.close();
            file.delete();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
        // 加密
        BASE64Encoder encoder = new BASE64Encoder();
        return encoder.encode(data);
    }


    public static void main(String[] args) throws IOException {
//        StringBuilder sb = new StringBuilder();
//        sb.append("/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a\n" +
//                "HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy\n" +
//                "MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAGQAZADASIA\n" +
//                "AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\n" +
//                "AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\n" +
//                "ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\n" +
//                "p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\n" +
//                "AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\n" +
//                "BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\n" +
//                "U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\n" +
//                "uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii\n" +
//                "gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\n" +
//                "CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK8/+JvxN/4Vz/Zf\n" +
//                "/Eo/tD7f5v8Ay8+Vs2bP9hs53+3SgD0Civn/AP4aa/6lH/ypf/aqP+Gmv+pR/wDKl/8AaqAPoCiv\n" +
//                "n/8A4aa/6lH/AMqX/wBqo/4aa/6lH/ypf/aqAPoCivn/AP4aa/6lH/ypf/aq7D4cfGD/AIWB4huN\n" +
//                "J/sL7B5No1z5v2vzc4dF242L/fznPagD1CiiigAorx/xt8dP+EO8X32gf8I59s+y+X+/+3eXu3Rq\n" +
//                "/wB3yzjG7HXtXqGhan/bfh7TNW8nyft1pFc+Vu3bN6BtucDOM4zgUAaFFfP/APw01/1KP/lS/wDt\n" +
//                "VH/DTX/Uo/8AlS/+1UAfQFFeX/Dj4wf8LA8Q3Gk/2F9g8m0a5837X5ucOi7cbF/v5zntXqFABRRX\n" +
//                "j/jb46f8Id4vvtA/4Rz7Z9l8v9/9u8vdujV/u+WcY3Y69qAPYKK+f/8Ahpr/AKlH/wAqX/2qtDQv\n" +
//                "2h/7b8Q6ZpP/AAi3k/bruK283+0N2ze4XdjyxnGc4yKAPcKKKKACivP/AIm/E3/hXP8AZf8AxKP7\n" +
//                "Q+3+b/y8+Vs2bP8AYbOd/t0rz/8A4aa/6lH/AMqX/wBqoA+gKK+f/wDhpr/qUf8Aypf/AGqj/hpr\n" +
//                "/qUf/Kl/9qoA+gKK8P0L9of+2/EOmaT/AMIt5P267itvN/tDds3uF3Y8sZxnOMivUPG3if8A4Q7w\n" +
//                "hfa/9j+2fZfL/ceb5e7dIqfewcY3Z6dqAOgory/4cfGD/hYHiG40n+wvsHk2jXPm/a/Nzh0XbjYv\n" +
//                "9/Oc9q9QoAKK8v8AiP8AGD/hX/iG30n+wvt/nWi3Pm/a/Kxl3XbjY39zOc967DwT4n/4THwhY6/9\n" +
//                "j+x/avM/ceb5m3bIyfewM5256d6AOgoorP13U/7E8Panq3k+d9htJbnyt23fsQttzg4zjGcGgDQo\n" +
//                "rx/wT8dP+Ex8X2Ogf8I59j+1eZ+/+3eZt2xs/wB3yxnO3HXvXsFABRXn/wATfib/AMK5/sv/AIlH\n" +
//                "9ofb/N/5efK2bNn+w2c7/bpWh8OPHX/CwPD1xq39nfYPJu2tvK8/zc4RG3Z2r/fxjHagDsKK8f8A\n" +
//                "G3x0/wCEO8X32gf8I59s+y+X+/8At3l7t0av93yzjG7HXtXP/wDDTX/Uo/8AlS/+1UAfQFFfP/8A\n" +
//                "w01/1KP/AJUv/tVH/DTX/Uo/+VL/AO1UAfQFFfP/APw01/1KP/lS/wDtVH/DTX/Uo/8AlS/+1UAf\n" +
//                "QFFcf8OPHX/CwPD1xq39nfYPJu2tvK8/zc4RG3Z2r/fxjHauwoAKKKKACiiigAr5/wD2mv8AmVv+\n" +
//                "3v8A9o19AV8//tNf8yt/29/+0aAMT4TfCbQfHnhW61TVLvUoZ4r17dVtZEVSoRGydyMc5c9/Su7/\n" +
//                "AOGcfB//AEEtc/7/AMP/AMao/Zx/5J5qH/YVk/8ARUVch8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX\n" +
//                "27oUY8shJ5JPJoA6/wD4Zx8H/wDQS1z/AL/w/wDxqj/hnHwf/wBBLXP+/wDD/wDGq8g/4Xb8Q/8A\n" +
//                "oYf/ACSt/wD43Wx4T+L/AI71Pxlodhea75lrdahbwzJ9kgG5GkUMMhMjIJ6UAdB8RPgp4b8I+BNS\n" +
//                "1ywvdVkurXytiTyxlDulRDkCMHox71j/ALOP/JQ9Q/7BUn/o2KvX/jb/AMkh13/t3/8ASiOvIP2c\n" +
//                "f+Sh6h/2CpP/AEbFQB6f8YPiPrHw/wD7G/sm2sZvt3n+Z9rR2xs8vGNrL/fPXPavMP8Aho7xh/0D\n" +
//                "dD/78Tf/AB2vf/E/gnw74x+y/wBv6f8AbPsu/wAn99JHt3Y3fcYZztXr6V80fGvwto3hHxlZ2Gh2\n" +
//                "f2S1k09JmTzXky5kkBOXJPRR+VAHo+ifDjR/i3o8HjjX7m+ttT1Pd50Vg6JCvlsYl2h1Zh8sak5Y\n" +
//                "8k9Olcxf/GvxJ4O1G58L6dZaVLY6NK+n28lxFI0jRwkxqXIkALEKMkADPYV6v8Ev+SQ6F/28f+lE\n" +
//                "lfMHjv8A5KH4l/7Ct1/6NagD3/8A4Zx8H/8AQS1z/v8Aw/8Axqj/AIZx8H/9BLXP+/8AD/8AGq9I\n" +
//                "8WX1xpng3XL+zk8u6tdPuJoX2g7XWNipweDggda+WP8AhdvxD/6GH/ySt/8A43QB9B+CvhNoPgPW\n" +
//                "ZtU0u71KaeW3a3ZbqRGUKWVsjainOUHf1rL+MHxH1j4f/wBjf2TbWM327z/M+1o7Y2eXjG1l/vnr\n" +
//                "ntXiH/C7fiH/ANDD/wCSVv8A/G67/wCGX/F4/wC1P+E9/wCJv/ZXlfY/+XfyvN37/wDU7N2fLTrn\n" +
//                "GOMZNAGB/wANHeMP+gbof/fib/47Xm/inxJeeLvEd3rl/HBHdXWzekCkINqKgwCSeijvX1P/AMKS\n" +
//                "+Hn/AEL3/k7cf/HKP+FJfDz/AKF7/wAnbj/45QBxfhr4BeFdZ8K6RqlxqGsrPe2UNxIsc0QUM6Bi\n" +
//                "BmMnGT6mug0n4BeFdG1mx1S31DWWnsriO4jWSaIqWRgwBxGDjI9RXplhY2+madbWFnH5draxJDCm\n" +
//                "4naigBRk8nAA618kf8Lt+If/AEMP/klb/wDxugD6X+IniS88I+BNS1ywjgkurXytiTqSh3SohyAQ\n" +
//                "ejHvXhH/AA0d4w/6Buh/9+Jv/jtHgnxt4i+I3i+x8KeK9Q/tDRL/AMz7Ta+THFv2RtIvzxqrDDop\n" +
//                "4I6Y6VsfGv4d+FfCPg2zv9D0r7JdSagkLP8AaJZMoY5CRh2I6qPyoA838dfEfWPiB9g/ta2sYfsP\n" +
//                "meX9kR1zv25zuZv7g6Y71x9ewfAvwT4d8Y/29/b+n/bPsv2fyf30ke3d5m77jDOdq9fSvX/+FJfD\n" +
//                "z/oXv/J24/8AjlAHnHw7+Cnhvxd4E03XL+91WO6uvN3pBLGEG2V0GAYyeijvXT/8M4+D/wDoJa5/\n" +
//                "3/h/+NV6homiad4c0eDSdJt/s9jBu8uLez7dzFjyxJPJJ5NfNHiz4v8AjvTPGWuWFnrvl2trqFxD\n" +
//                "Cn2SA7UWRgoyUycADrQB39/8FPDfg7TrnxRp17qst9o0T6hbx3EsbRtJCDIocCMEqSoyAQcdxXMa\n" +
//                "J8R9Y+LesQeB9ftrG20zU93nS2COky+WplXaXZlHzRqDlTwT061z+hfFLxl4m8Q6ZoGr6z9p0zU7\n" +
//                "uKyvIPssKebDI4R13KgYZViMggjPBFen+NvBPh34c+EL7xX4U0/+z9bsPL+zXXnSS7N8ixt8kjMp\n" +
//                "yjsOQeuetAHSeCvhNoPgPWZtU0u71KaeW3a3ZbqRGUKWVsjainOUHf1rvK+QP+F2/EP/AKGH/wAk\n" +
//                "rf8A+N16/wDAvxt4i8Y/29/b+ofbPsv2fyf3Mce3d5m77ijOdq9fSgDpPGvwm0Hx5rMOqapd6lDP\n" +
//                "FbrbqtrIiqVDM2TuRjnLnv6V5ZrfxH1j4SaxP4H0C2sbnTNM2+TLfo7zN5iiVtxRlU/NIwGFHAHX\n" +
//                "rX0fXyB8bf8Akr2u/wDbv/6Tx0AfVfhrUptZ8K6Rqlwsaz3tlDcSLGCFDOgYgZJOMn1NfPlh8a/E\n" +
//                "njHUbbwvqNlpUVjrMqafcSW8UiyLHMRGxQmQgMAxwSCM9jXu/gT/AJJ54a/7BVr/AOilr5A8Cf8A\n" +
//                "JQ/DX/YVtf8A0atAHt+t/DjR/hJo8/jjQLm+udT0zb5MV+6PC3mMIm3BFVj8sjEYYcgdelch/wAN\n" +
//                "HeMP+gbof/fib/47X0freiad4j0efSdWt/tFjPt8yLeybtrBhypBHIB4NeEfGv4d+FfCPg2zv9D0\n" +
//                "r7JdSagkLP8AaJZMoY5CRh2I6qPyoA838dfEfWPiB9g/ta2sYfsPmeX9kR1zv25zuZv7g6Y717f+\n" +
//                "zj/yTzUP+wrJ/wCioq+YK+n/ANnH/knmof8AYVk/9FRUAeQfG3/kr2u/9u//AKTx16X4a+AXhXWf\n" +
//                "CukapcahrKz3tlDcSLHNEFDOgYgZjJxk+przT42/8le13/t3/wDSeOvp/wACf8k88Nf9gq1/9FLQ\n" +
//                "B5//AMM4+D/+glrn/f8Ah/8AjVH/AAzj4P8A+glrn/f+H/41XkH/AAu34h/9DD/5JW//AMbo/wCF\n" +
//                "2/EP/oYf/JK3/wDjdAHr/wDwzj4P/wCglrn/AH/h/wDjVeYfGD4caP8AD/8Asb+ybm+m+3ef5n2t\n" +
//                "0bGzy8Y2qv8AfPXPau3+CnxE8VeLvGV5Ya5qv2u1j095lT7PFHhxJGAcooPRj+dV/wBpr/mVv+3v\n" +
//                "/wBo0AdB+zj/AMk81D/sKyf+ioq9grx/9nH/AJJ5qH/YVk/9FRV7BQAUUUUAFFFFABXz/wDtNf8A\n" +
//                "Mrf9vf8A7Rr6Ar5//aa/5lb/ALe//aNAHQfs4/8AJPNQ/wCwrJ/6KiryD42/8le13/t3/wDSeOvX\n" +
//                "/wBnH/knmof9hWT/ANFRV5x8X/CfiTU/ilrN5YeH9Vu7WTyNk0FlJIjYgjBwwGDggj8KAPJ66DwJ\n" +
//                "/wAlD8Nf9hW1/wDRq0f8IJ4w/wChU1z/AMF03/xNbngvwX4qtfHXh64uPDWswwRanbPJJJYSqqKJ\n" +
//                "VJJJXAAHOaAPoP42/wDJIdd/7d//AEojryD9nH/koeof9gqT/wBGxV6/8bf+SQ67/wBu/wD6UR15\n" +
//                "B+zj/wAlD1D/ALBUn/o2KgD6fr5g/aO/5KHp/wD2Co//AEbLX0fqeu6Ponlf2tqtjYedny/tdwkW\n" +
//                "/GM43EZxkdPUVJpurabrNu1xpeoWl9ArlGktZllUNgHBKkjOCDj3FAHxJY+LPEmmWcdnYeINVtLW\n" +
//                "POyGC9kjRckk4UHAyST+NfV/hPwn4b1Twboeo6j4f0q8vrrT7ee4ubiyjkkmkaNWZ3YglmJJJJ5J\n" +
//                "NeIfF/wn4k1P4pazeWHh/Vbu1k8jZNBZSSI2IIwcMBg4II/CuH/4QTxh/wBCprn/AILpv/iaAPtu\n" +
//                "eCG6t5be4ijmglQpJHIoZXUjBBB4II4xWH/wgng//oVND/8ABdD/APE18geBP+Sh+Gv+wra/+jVr\n" +
//                "7foA5/8A4QTwf/0Kmh/+C6H/AOJrx/46f8UV/YP/AAin/Eh+1/aPtP8AZX+i+ds8vbv8vG7G5sZ6\n" +
//                "bj610H7R3/JPNP8A+wrH/wCipa5/9mX/AJmn/t0/9rUAdZ8AtW1LWfAt9capqF3fTrqciLJdTNKw\n" +
//                "XyojgFiTjJJx7mvVKy9S8S6Do1wtvqmt6bYzsgdY7q6SJiuSMgMQcZBGfY18mfF+/s9T+KWs3lhd\n" +
//                "wXdrJ5GyaCQSI2IIwcMODggj8KAJPGnjTxVa+OvENvb+JdZhgi1O5SOOO/lVUUSsAAA2AAOMVwdf\n" +
//                "b/gT/knnhr/sFWv/AKKWjx3/AMk88S/9gq6/9FNQB8wfBL/kr2hf9vH/AKTyV9Z6lpOm6zbrb6pp\n" +
//                "9pfQK4dY7qFZVDYIyAwIzgkZ9zXwZVzTdJ1LWbhrfS9Pu76dULtHawtKwXIGSFBOMkDPuKAPc/jp\n" +
//                "/wAUV/YP/CKf8SH7X9o+0/2V/ovnbPL27/LxuxubGem4+teQf8J34w/6GvXP/BjN/wDFUf8ACCeM\n" +
//                "P+hU1z/wXTf/ABNH/CCeMP8AoVNc/wDBdN/8TQB9T/CC/vNT+FujXl/dz3d1J5++aeQyO2J5AMse\n" +
//                "TgAD8K3J/BfhW6uJbi48NaNNPK5eSSSwiZnYnJJJXJJPOa+JL6wvNMvJLO/tJ7S6jxvhnjMbrkAj\n" +
//                "KnkZBB/GtSDwX4qureK4t/DWszQSoHjkjsJWV1IyCCFwQRzmgDHgnmtbiK4t5ZIZ4nDxyRsVZGBy\n" +
//                "CCOQQec1qX3izxJqdnJZ3/iDVbu1kxvhnvZJEbBBGVJwcEA/hX1X408aeFbrwL4ht7fxLo008umX\n" +
//                "KRxx38TM7GJgAAGySTxivnT4QX9npnxS0a8v7uC0tY/P3zTyCNFzBIBljwMkgfjQBufALSdN1nx1\n" +
//                "fW+qafaX0C6ZI6x3UKyqG82IZAYEZwSM+5rq/jp/xRX9g/8ACKf8SH7X9o+0/wBlf6L52zy9u/y8\n" +
//                "bsbmxnpuPrWx8a7+z8Y+DbPTvC93Brl9HqCTvbaZILmRYxHIpcrHkhQWUZ6ZYetV/wBnjQtY0T/h\n" +
//                "JP7W0q+sPO+zeX9rt3i3483ONwGcZHT1FAG58AtW1LWfAt9capqF3fTrqciLJdTNKwXyojgFiTjJ\n" +
//                "Jx7mvFPjb/yV7Xf+3f8A9J46+v6x77xZ4b0y8ks7/wAQaVaXUeN8M97HG65AIypORkEH8aAK/gT/\n" +
//                "AJJ54a/7BVr/AOilrH8WeE/Del+Ddc1HTvD+lWd9a6fcT29zb2UcckMixsyujAAqwIBBHIIr5U8a\n" +
//                "Tw3XjrxDcW8sc0Eup3LxyRsGV1MrEEEcEEc5r6n8aeNPCt14F8Q29v4l0aaeXTLlI447+JmdjEwA\n" +
//                "ADZJJ4xQB4p8IPFniTU/ilo1nf8AiDVbu1k8/fDPeySI2IJCMqTg4IB/CvR/2jv+Seaf/wBhWP8A\n" +
//                "9FS14x8IL+z0z4paNeX93BaWsfn75p5BGi5gkAyx4GSQPxr6z03xLoOs3DW+l63pt9OqF2jtbpJW\n" +
//                "C5AyQpJxkgZ9xQB4J+zxoWj63/wkn9raVY3/AJP2by/tdukuzPm5xuBxnA6egr6D03SdN0a3a30v\n" +
//                "T7SxgZy7R2sKxKWwBkhQBnAAz7CrlFAHyB8bf+Sva7/27/8ApPHX0/4E/wCSeeGv+wVa/wDopa+Y\n" +
//                "Pjb/AMle13/t3/8ASeOvp/wJ/wAk88Nf9gq1/wDRS0AfEFFdB/wgnjD/AKFTXP8AwXTf/E0f8IJ4\n" +
//                "w/6FTXP/AAXTf/E0Aegfs4/8lD1D/sFSf+jYq3/2mv8AmVv+3v8A9o1U+AXhrXtG8dX1xqmialYw\n" +
//                "NpkiLJdWrxKW82I4BYAZwCcexq3+01/zK3/b3/7RoA6D9nH/AJJ5qH/YVk/9FRV7BXj/AOzj/wAk\n" +
//                "81D/ALCsn/oqKvYKACiiigAooooAK+f/ANpr/mVv+3v/ANo19AV5f8YPhxrHxA/sb+ybmxh+w+f5\n" +
//                "n2t3XO/y8Y2q39w9cdqAOI+CnxE8K+EfBt5Ya5qv2S6k1B5lT7PLJlDHGAcopHVT+Vej/wDC7fh5\n" +
//                "/wBDD/5JXH/xuvIP+GcfGH/QS0P/AL/zf/GqP+GcfGH/AEEtD/7/AM3/AMaoA9f/AOF2/Dz/AKGH\n" +
//                "/wAkrj/43R/wu34ef9DD/wCSVx/8bryD/hnHxh/0EtD/AO/83/xqj/hnHxh/0EtD/wC/83/xqgDr\n" +
//                "/il8UvBviP4catpOk6z9ovp/J8uL7LMm7bMjHlkAHAJ5Nch+zj/yUPUP+wVJ/wCjYqP+GcfGH/QS\n" +
//                "0P8A7/zf/Gq7v4TfCbXvAfiq61TVLvTZoJbJ7dVtZHZgxdGydyKMYQ9/SgDD/aa/5lb/ALe//aNd\n" +
//                "B+zj/wAk81D/ALCsn/oqKuf/AGmv+ZW/7e//AGjWJ8JvizoPgPwrdaXqlpqU08t69wrWsaMoUoi4\n" +
//                "O51Ocoe3pQB7XrfxS8G+HNYn0nVtZ+z30G3zIvssz7dyhhyqEHgg8GuosL631PTra/s5PMtbqJJo\n" +
//                "X2kbkYAqcHkZBHWvnjW/hxrHxb1ifxxoFzY22mant8mK/d0mXy1ETbgiso+aNiMMeCOnSve/DWmz\n" +
//                "aN4V0jS7ho2nsrKG3kaMkqWRApIyAcZHoKAPjTwJ/wAlD8Nf9hW1/wDRq19n63reneHNHn1bVrj7\n" +
//                "PYwbfMl2M+3cwUcKCTyQOBXzxYfBTxJ4O1G28Uaje6VLY6NKmoXEdvLI0jRwkSMEBjALEKcAkDPc\n" +
//                "VofET41+G/F3gTUtDsLLVY7q68rY88UYQbZUc5IkJ6Ke1AGv8R9b074t+HrfQPA9x/aup292t7LB\n" +
//                "saDbCqOhbdKFU/NIgwDnnpwaz/hl/wAWc/tT/hPf+JR/avlfY/8Al483yt+//U79uPMTrjOeM4NY\n" +
//                "H7OP/JQ9Q/7BUn/o2Kt/9pr/AJlb/t7/APaNAFD4j6JqPxb8Q2+v+B7f+1dMt7RbKWfesG2ZXdyu\n" +
//                "2Uqx+WRDkDHPXg14/reiaj4c1ifSdWt/s99Bt8yLer7dyhhypIPBB4NeqfCb4s6D4D8K3Wl6paal\n" +
//                "NPLevcK1rGjKFKIuDudTnKHt6Vc1v4cax8W9Yn8caBc2Ntpmp7fJiv3dJl8tRE24IrKPmjYjDHgj\n" +
//                "p0oA9v8AAn/JPPDX/YKtf/RS1x+u/FLwb4m8PanoGkaz9p1PU7SWys4PssyebNIhRF3MgUZZgMkg\n" +
//                "DPJFY9h8a/Dfg7TrbwvqNlqst9o0SafcSW8UbRtJCBGxQmQEqSpwSAcdhXz54a1KHRvFWkapcLI0\n" +
//                "Flew3EixgFiqOGIGSBnA9RQBua38LfGXhzR59W1bRvs9jBt8yX7VC+3cwUcK5J5IHArsP2cf+Sh6\n" +
//                "h/2CpP8A0bFWx8RPjX4b8XeBNS0OwstVjurrytjzxRhBtlRzkiQnop7Vj/s4/wDJQ9Q/7BUn/o2K\n" +
//                "gD3/AMT+NvDvg77L/b+ofY/tW/yf3Mkm7bjd9xTjG5evrVjw34p0bxdp0l/od59rtY5TCz+U8eHA\n" +
//                "BIw4B6MPzrh/jB8ONY+IH9jf2Tc2MP2Hz/M+1u653+XjG1W/uHrjtWp8JvBWpeA/Ct1peqT2k08t\n" +
//                "69wrWrsyhSiLg7lU5yh7elAHz58bf+Sva7/27/8ApPHX0/4E/wCSeeGv+wVa/wDopa+YPjb/AMle\n" +
//                "13/t3/8ASeOvp/wJ/wAk88Nf9gq1/wDRS0AfFFhY3Gp6jbWFnH5l1dSpDCm4Dc7EBRk8DJI611Gt\n" +
//                "/C3xl4c0efVtW0b7PYwbfMl+1Qvt3MFHCuSeSBwKz/An/JQ/DX/YVtf/AEatfT/xt/5JDrv/AG7/\n" +
//                "APpRHQB5B+zj/wAlD1D/ALBUn/o2Kvf/ABP428O+Dvsv9v6h9j+1b/J/cySbtuN33FOMbl6+teAf\n" +
//                "s4/8lD1D/sFSf+jYq9P+MHw41j4gf2N/ZNzYw/YfP8z7W7rnf5eMbVb+4euO1AHceG/FOjeLtOkv\n" +
//                "9DvPtdrHKYWfynjw4AJGHAPRh+dfLHxt/wCSva7/ANu//pPHXo/hvxJZ/AjTpPC/iiOe8vrqU6gk\n" +
//                "mmKJIxGwEYBMhQ7sxNxjGCOfTI1v4cax8W9Yn8caBc2Ntpmp7fJiv3dJl8tRE24IrKPmjYjDHgjp\n" +
//                "0oA4ew+EHjvU9Otr+z0LzLW6iSaF/tcA3IwBU4L5GQR1rj7CxuNT1G2sLOPzLq6lSGFNwG52ICjJ\n" +
//                "4GSR1r6PsPjX4b8HadbeF9RstVlvtGiTT7iS3ijaNpIQI2KEyAlSVOCQDjsK5Cw+CniTwdqNt4o1\n" +
//                "G90qWx0aVNQuI7eWRpGjhIkYIDGAWIU4BIGe4oA4fW/hb4y8OaPPq2raN9nsYNvmS/aoX27mCjhX\n" +
//                "JPJA4Fdh+zj/AMlD1D/sFSf+jYq6/W/iPo/xb0efwPoFtfW2p6nt8mW/REhXy2ErbijMw+WNgMKe\n" +
//                "SOnWsjw34bvPgRqMnijxRJBeWN1EdPSPTGMkgkYiQEiQINuIm5znJHHoAez+J/G3h3wd9l/t/UPs\n" +
//                "f2rf5P7mSTdtxu+4pxjcvX1qx4b8U6N4u06S/wBDvPtdrHKYWfynjw4AJGHAPRh+dfNHxg+I+j/E\n" +
//                "D+xv7Jtr6H7D5/mfa0Rc7/Lxjazf3D1x2r0/9nH/AJJ5qH/YVk/9FRUAeQfG3/kr2u/9u/8A6Tx1\n" +
//                "7P4T+L/gTTPBuh2F5rvl3Vrp9vDMn2Sc7XWNQwyEwcEHpXP/ABE+CniTxd471LXLC90qO1uvK2JP\n" +
//                "LIHG2JEOQIyOqnvXMf8ADOPjD/oJaH/3/m/+NUAev/8AC7fh5/0MP/klcf8Axuj/AIXb8PP+hh/8\n" +
//                "krj/AON15B/wzj4w/wCglof/AH/m/wDjVH/DOPjD/oJaH/3/AJv/AI1QB6//AMLt+Hn/AEMP/klc\n" +
//                "f/G68g+Onjbw74x/sH+wNQ+2fZftHnfuZI9u7y9v31Gc7W6elH/DOPjD/oJaH/3/AJv/AI1R/wAM\n" +
//                "4+MP+glof/f+b/41QB3/AOzj/wAk81D/ALCsn/oqKvYK4P4TeCtS8B+FbrS9UntJp5b17hWtXZlC\n" +
//                "lEXB3KpzlD29K7ygAooooAKKKKACiiigAoorwf4ifGvxJ4R8d6lodhZaVJa2vlbHnikLndEjnJEg\n" +
//                "HVj2oA94r5//AOGmv+pR/wDKl/8Aaq9s8NalNrPhXSNUuFjWe9sobiRYwQoZ0DEDJJxk+pr4UoA9\n" +
//                "/wD+Gmv+pR/8qX/2qj/hpr/qUf8Aypf/AGqvKPh34bs/F3jvTdDv5J47W683e8DAONsTuMEgjqo7\n" +
//                "V7v/AMM4+D/+glrn/f8Ah/8AjVAHP/8AJxn/AFL39hf9vfn+f/3727fJ987u2OT/AIZl/wCpu/8A\n" +
//                "Kb/9to8T/wDGP32X/hFP9N/tvf8Aaf7V/ebPJxt2eXsxnzWznPQdO+B/w0d4w/6Buh/9+Jv/AI7Q\n" +
//                "Bv8A/Czf+FOf8UF/ZH9r/wBlf8v32n7P5vm/vv8AV7H248zb945xnjOKP+Gmv+pR/wDKl/8Aaq8Y\n" +
//                "8U+JLzxd4ju9cv44I7q62b0gUhBtRUGAST0Ud6x6APf/APhen/Ca/wDFKf8ACOfYv7b/AOJb9q+3\n" +
//                "eZ5Pnfu9+zyxuxuzjIzjGRR/wzL/ANTd/wCU3/7bXhmk6lNo2s2OqW6xtPZXEdxGsgJUsjBgDgg4\n" +
//                "yPUV738O/jX4k8XeO9N0O/stKjtbrzd7wRSBxtidxgmQjqo7UAdR8OPg/wD8K/8AENxq39u/b/Ot\n" +
//                "GtvK+yeVjLo27O9v7mMY71ofE34Zf8LG/sv/AIm/9n/YPN/5dvN379n+2uMbPfrXoFFAHz//AMMy\n" +
//                "/wDU3f8AlN/+20f8LN/4U5/xQX9kf2v/AGV/y/fafs/m+b++/wBXsfbjzNv3jnGeM4rc+LPxZ17w\n" +
//                "H4qtdL0u002aCWyS4ZrqN2YMXdcDa6jGEHb1qnonw40f4t6PB441+5vrbU9T3edFYOiQr5bGJdod\n" +
//                "WYfLGpOWPJPTpQBn/wDCi/8AhNf+Kr/4SP7F/bf/ABMvsv2HzPJ8795s3+YN2N2M4GcZwKP+GZf+\n" +
//                "pu/8pv8A9tr3TSdNh0bRrHS7dpGgsreO3jaQgsVRQoJwAM4HoKr+JdSm0bwrq+qW6xtPZWU1xGsg\n" +
//                "JUsiFgDgg4yPUUAfOnjb4F/8Id4Qvtf/AOEj+2fZfL/cfYfL3bpFT73mHGN2enauP+HHjr/hX/iG\n" +
//                "41b+zvt/nWjW3lef5WMujbs7W/uYxjvXoGifEfWPi3rEHgfX7axttM1Pd50tgjpMvlqZV2l2ZR80\n" +
//                "ag5U8E9OtU/iz8JtB8B+FbXVNLu9SmnlvUt2W6kRlClHbI2opzlB39aANv8A4aa/6lH/AMqX/wBq\n" +
//                "o/4aa/6lH/ypf/aq5D4P/DjR/iB/bP8Aa1zfQ/YfI8v7I6Lnf5mc7lb+4OmO9en/APDOPg//AKCW\n" +
//                "uf8Af+H/AONUAeAeNvE//CY+L77X/sf2P7V5f7jzfM27Y1T72BnO3PTvXqGhftD/ANieHtM0n/hF\n" +
//                "vO+w2kVt5v8AaG3fsQLux5ZxnGcZNdf/AMM4+D/+glrn/f8Ah/8AjVfOniXTYdG8Vavpdu0jQWV7\n" +
//                "NbxtIQWKo5UE4AGcD0FAEehan/YniHTNW8nzvsN3Fc+Vu279jhtucHGcYzg17f8A8LN/4XH/AMUF\n" +
//                "/ZH9kf2r/wAv32n7R5Xlfvv9XsTdny9v3hjOecYq54l+AXhXRvCur6pb6hrLT2VlNcRrJNEVLIhY\n" +
//                "A4jBxkeorzT4Jf8AJXtC/wC3j/0nkoA9v+HHwf8A+Ff+IbjVv7d+3+daNbeV9k8rGXRt2d7f3MYx\n" +
//                "3r1CivL/AIwfEfWPh/8A2N/ZNtYzfbvP8z7WjtjZ5eMbWX++eue1AHmH7R3/ACUPT/8AsFR/+jZa\n" +
//                "PBPx0/4Q7whY6B/wjn2z7L5n7/7d5e7dIz/d8s4xux17VwfjXxrqXjzWYdU1SC0hnit1t1W1RlUq\n" +
//                "GZsnczHOXPf0r1T4d/BTw34u8Cabrl/e6rHdXXm70gljCDbK6DAMZPRR3oA8X13U/wC2/EOp6t5P\n" +
//                "k/bruW58rdu2b3Lbc4GcZxnAr7P8d/8AJPPEv/YKuv8A0U1ef/8ADOPg/wD6CWuf9/4f/jVeqatp\n" +
//                "sOs6NfaXcNIsF7byW8jRkBgrqVJGQRnB9DQB8mfBL/kr2hf9vH/pPJX0f8R/Av8AwsDw9b6T/aP2\n" +
//                "DybtbnzfI83OEdduNy/385z2rz/W/hxo/wAJNHn8caBc31zqembfJiv3R4W8xhE24IqsflkYjDDk\n" +
//                "Dr0rkP8Aho7xh/0DdD/78Tf/AB2gDn/ib8Mv+Fc/2X/xN/7Q+3+b/wAu3lbNmz/bbOd/t0r1/wDZ\n" +
//                "x/5J5qH/AGFZP/RUVc/4Y/4yB+1f8JX/AKF/Ymz7N/ZX7vf52d2/zN+ceUuMY6nr2g8SeJLz4Eaj\n" +
//                "H4X8LxwXljdRDUHk1NTJIJGJjIBjKDbiJeMZyTz6AHT+Nvjp/wAId4vvtA/4Rz7Z9l8v9/8AbvL3\n" +
//                "bo1f7vlnGN2Ovauf/wCGmv8AqUf/ACpf/aq8Y8U+JLzxd4ju9cv44I7q62b0gUhBtRUGAST0Ud69\n" +
//                "z8NfALwrrPhXSNUuNQ1lZ72yhuJFjmiChnQMQMxk4yfU0Ae6UUUUAcf8R/HX/Cv/AA9b6t/Z32/z\n" +
//                "rtbbyvP8rGUdt2drf3MYx3rP+GXxN/4WN/an/Eo/s/7B5X/Lz5u/fv8A9hcY2e/Wtzxr4K03x5o0\n" +
//                "Ol6pPdwwRXC3CtauqsWCsuDuVhjDnt6VT8C/DjR/h/8Ab/7Jub6b7d5fmfa3RsbN2MbVX++eue1A\n" +
//                "HYUUUUAFFFFABRRRQAV4/wDHTxt4i8Hf2D/YGofY/tX2jzv3Mcm7b5e376nGNzdPWvYKz9T0LR9b\n" +
//                "8r+1tKsb/wAnPl/a7dJdmcZxuBxnA6egoA4f4KeKdZ8XeDby/wBcvPtd1HqDwq/lJHhBHGQMIAOr\n" +
//                "H868I+Nv/JXtd/7d/wD0njr6z03SdN0a3a30vT7SxgZy7R2sKxKWwBkhQBnAAz7Cqd94T8N6neSX\n" +
//                "l/4f0q7upMb5p7KOR2wABliMnAAH4UAfKFh8X/HemadbWFnrvl2trEkMKfZIDtRQAoyUycADrXD1\n" +
//                "ueNIIbXx14ht7eKOGCLU7lI441CqiiVgAAOAAOMVh0AaGia3qPhzWINW0m4+z30G7y5divt3KVPD\n" +
//                "Ag8EjkV7v8FPiJ4q8XeMryw1zVftdrHp7zKn2eKPDiSMA5RQejH868w+EFhZ6n8UtGs7+0gu7WTz\n" +
//                "98M8YkRsQSEZU8HBAP4V6/8AGuws/B3g2z1HwvaQaHfSagkD3OmRi2kaMxyMULR4JUlVOOmVHpQB\n" +
//                "j/tNf8yt/wBvf/tGoPgp8O/Cvi7wbeX+uaV9ruo9QeFX+0Sx4QRxkDCMB1Y/nU/wL/4rX+3v+Er/\n" +
//                "AOJ99k+z/Zv7V/0ryd/mbtnmZ252rnHXaPSvdNN0nTdGt2t9L0+0sYGcu0drCsSlsAZIUAZwAM+w\n" +
//                "oA4v/hSXw8/6F7/yduP/AI5Xyx4ssbfTPGWuWFnH5dra6hcQwpuJ2osjBRk8nAA616B8X/FniTTP\n" +
//                "ilrNnYeINVtLWPyNkMF7JGi5gjJwoOBkkn8a9v8ACfhPw3qng3Q9R1Hw/pV5fXWn289xc3FlHJJN\n" +
//                "I0aszuxBLMSSSTySaAOf8WfCDwJpng3XL+z0Ly7q10+4mhf7XOdrrGxU4L4OCB1r5o0TW9R8OaxB\n" +
//                "q2k3H2e+g3eXLsV9u5Sp4YEHgkcirk/jTxVdW8tvceJdZmglQpJHJfysrqRgggtggjjFbnwgsLPU\n" +
//                "/ilo1nf2kF3ayefvhnjEiNiCQjKng4IB/CgD0/4KfETxV4u8ZXlhrmq/a7WPT3mVPs8UeHEkYByi\n" +
//                "g9GP517xXi/xrsLPwd4Ns9R8L2kGh30moJA9zpkYtpGjMcjFC0eCVJVTjplR6V4R/wAJ34w/6GvX\n" +
//                "P/BjN/8AFUAegftHf8lD0/8A7BUf/o2WvX/gl/ySHQv+3j/0okr5M1LVtS1m4W41TULu+nVAiyXU\n" +
//                "zSsFyTgFiTjJJx7mvrP4Jf8AJIdC/wC3j/0okoA9Aqvf2NvqenXNheR+Za3UTwzJuI3IwIYZHIyC\n" +
//                "elfInjTxp4qtfHXiG3t/EuswwRancpHHHfyqqKJWAAAbAAHGK+w6AOP0T4W+DfDmsQatpOjfZ76D\n" +
//                "d5cv2qZ9u5Sp4ZyDwSORXH/tHf8AJPNP/wCwrH/6KlrqPi/f3mmfC3Wbywu57S6j8jZNBIY3XM8Y\n" +
//                "OGHIyCR+NfJmpeJde1m3W31TW9SvoFcOsd1dPKobBGQGJGcEjPuaALnhjxt4i8Hfav7A1D7H9q2e\n" +
//                "d+5jk3bc7fvqcY3N09a+l/gp4p1nxd4NvL/XLz7XdR6g8Kv5SR4QRxkDCADqx/OvkitTTfEuvaNb\n" +
//                "tb6XrepWMDOXaO1uniUtgDJCkDOABn2FAH3XXxB47/5KH4l/7Ct1/wCjWr6n+EF/ean8LdGvL+7n\n" +
//                "u7qTz9808hkdsTyAZY8nAAH4VuT+C/Ct1cS3Fx4a0aaeVy8kklhEzOxOSSSuSSec0Aal/Y2+p6dc\n" +
//                "2F5H5lrdRPDMm4jcjAhhkcjIJ6V5P428E+Hfhz4QvvFfhTT/AOz9bsPL+zXXnSS7N8ixt8kjMpyj\n" +
//                "sOQeueteOeC/Gniq68deHre48S6zNBLqdskkcl/KyuplUEEFsEEcYr6D+Nv/ACSHXf8At3/9KI6A\n" +
//                "PAP+F2/EP/oYf/JK3/8Ajdc/4n8beIvGP2X+39Q+2fZd/k/uY49u7G77ijOdq9fSu0+AWk6brPjq\n" +
//                "+t9U0+0voF0yR1juoVlUN5sQyAwIzgkZ9zX0X/wgng//AKFTQ/8AwXQ//E0AeMfBT4d+FfF3g28v\n" +
//                "9c0r7XdR6g8Kv9oljwgjjIGEYDqx/Osfxt428RfDnxffeFPCmof2folh5f2a18mOXZvjWRvnkVmO\n" +
//                "XdjyT1x0r6T03SdN0a3a30vT7SxgZy7R2sKxKWwBkhQBnAAz7Cvkz42/8le13/t3/wDSeOgD6n8J\n" +
//                "31xqfg3Q7+8k8y6utPt5pn2gbnaNSxwOBkk9K+cPCfxf8d6n4y0OwvNd8y1utQt4Zk+yQDcjSKGG\n" +
//                "QmRkE9K+h/An/JPPDX/YKtf/AEUtfIHgT/kofhr/ALCtr/6NWgD6f+Nv/JIdd/7d/wD0ojrwj4Ke\n" +
//                "FtG8XeMryw1yz+12senvMqea8eHEkYByhB6Mfzr6vvrCz1Ozks7+0gu7WTG+GeMSI2CCMqeDggH8\n" +
//                "Kp6b4a0HRrhrjS9E02xnZCjSWtqkTFcg4JUA4yAcewoAp+GPBPh3wd9q/sDT/sf2rZ5376STdtzt\n" +
//                "++xxjc3T1rwD9o7/AJKHp/8A2Co//RstfT9fMH7R3/JQ9P8A+wVH/wCjZaAOv+Fvwt8G+I/hxpOr\n" +
//                "ato32i+n87zJftUybtszqOFcAcADgVwGu/FLxl4Z8Q6noGkaz9m0zTLuWys4PssL+VDG5RF3MhY4\n" +
//                "VQMkknHJNe3/AAS/5JDoX/bx/wClElfMHjv/AJKH4l/7Ct1/6NagD7frj/ilreo+HPhxq2raTcfZ\n" +
//                "76DyfLl2K+3dMinhgQeCRyK+bPBfjTxVdeOvD1vceJdZmgl1O2SSOS/lZXUyqCCC2CCOMV9B/G3/\n" +
//                "AJJDrv8A27/+lEdAHD/BT4ieKvF3jK8sNc1X7Xax6e8yp9nijw4kjAOUUHox/OveK+YP2cf+Sh6h\n" +
//                "/wBgqT/0bFXX/tD67rGif8I5/ZOq31h532nzPslw8W/HlYztIzjJ6+poA9woryv4BatqWs+Bb641\n" +
//                "TULu+nXU5EWS6maVgvlRHALEnGSTj3NeqUAFFFFABRRRQAV8/wD7TX/Mrf8Ab3/7Rr6Arx/46eCf\n" +
//                "EXjH+wf7A0/7Z9l+0ed++jj27vL2/fYZztbp6UAZfwC8S6Do3gW+t9U1vTbGdtTkdY7q6SJivlRD\n" +
//                "IDEHGQRn2NeWfF+/s9T+KWs3lhdwXdrJ5GyaCQSI2IIwcMODggj8Ksf8KS+If/Qvf+Ttv/8AHKP+\n" +
//                "FJfEP/oXv/J23/8AjlAHNweC/FV1bxXFv4a1maCVA8ckdhKyupGQQQuCCOc19T+NPGnhW68C+Ibe\n" +
//                "38S6NNPLplykccd/EzOxiYAABskk8YrL0L4peDfDPh7TNA1fWfs2p6ZaRWV5B9lmfypo0COu5UKn\n" +
//                "DKRkEg44JrxD/hSXxD/6F7/ydt//AI5QBw9jYXmp3kdnYWk93dSZ2QwRmR2wCThRycAE/hWx/wAI\n" +
//                "J4w/6FTXP/BdN/8AE16B4J8E+Ivhz4vsfFfivT/7P0Sw8z7TdedHLs3xtGvyRszHLuo4B656V6//\n" +
//                "AMLt+Hn/AEMP/klcf/G6APmD/hBPGH/Qqa5/4Lpv/ia+i/gFpOpaN4FvrfVNPu7GdtTkdY7qFomK\n" +
//                "+VEMgMAcZBGfY12nhjxt4d8Y/av7A1D7Z9l2ed+5kj27s7fvqM52t09Kr+JPiJ4V8I6jHYa5qv2S\n" +
//                "6kiEyp9nlkyhJAOUUjqp/KgDqK+IPHf/ACUPxL/2Fbr/ANGtX0//AMLt+Hn/AEMP/klcf/G68Q13\n" +
//                "4W+MvE3iHU9f0jRvtOmandy3tnP9qhTzYZHLo21nDDKsDggEZ5AoA9z8aeNPCt14F8Q29v4l0aae\n" +
//                "XTLlI447+JmdjEwAADZJJ4xXyJY2F5qd5HZ2FpPd3UmdkMEZkdsAk4UcnABP4UWFjcanqNtYWcfm\n" +
//                "XV1KkMKbgNzsQFGTwMkjrXtHwt+FvjLw58R9J1bVtG+z2MHneZL9qhfbuhdRwrknkgcCgCT4BeGt\n" +
//                "e0bx1fXGqaJqVjA2mSIsl1avEpbzYjgFgBnAJx7Gtv8AaH0LWNb/AOEc/snSr6/8n7T5n2S3eXZn\n" +
//                "ysZ2g4zg9fQ17hRQB8Qf8IJ4w/6FTXP/AAXTf/E0f8IJ4w/6FTXP/BdN/wDE19v1x+t/FLwb4c1i\n" +
//                "fSdW1n7PfQbfMi+yzPt3KGHKoQeCDwaANTwXBNa+BfD1vcRSQzxaZbJJHIpVkYRKCCDyCDxivjzw\n" +
//                "J/yUPw1/2FbX/wBGrX2vYX1vqenW1/ZyeZa3USTQvtI3IwBU4PIyCOtfFHgT/kofhr/sK2v/AKNW\n" +
//                "gD7fqnqWrabo1utxqmoWljAzhFkupliUtgnALEDOATj2NXK83+NfhbWfF3g2zsNDs/td1HqCTMnm\n" +
//                "pHhBHICcuQOrD86APOP2h9d0fW/+Ec/snVbG/wDJ+0+Z9kuEl2Z8rGdpOM4PX0NeH10HifwT4i8H\n" +
//                "fZf7f0/7H9q3+T++jk3bcbvuMcY3L19aseG/h34q8XadJf6HpX2u1jlMLP8AaIo8OACRh2B6MPzo\n" +
//                "A+l/gl/ySHQv+3j/ANKJK+fPGngvxVdeOvENxb+GtZmgl1O5eOSOwlZXUysQQQuCCOc17H4J8beH\n" +
//                "fhz4QsfCnivUP7P1uw8z7Ta+TJLs3yNIvzxqynKOp4J64616xYX1vqenW1/ZyeZa3USTQvtI3IwB\n" +
//                "U4PIyCOtAHyJ4L8F+KrXx14euLjw1rMMEWp2zySSWEqqiiVSSSVwABzmvoP42/8AJIdd/wC3f/0o\n" +
//                "jo/4Xb8PP+hh/wDJK4/+N1x/xS+KXg3xH8ONW0nSdZ+0X0/k+XF9lmTdtmRjyyADgE8mgD5wr3/9\n" +
//                "mX/maf8At0/9rV4x4b8Laz4u1GSw0Oz+13UcRmZPNSPCAgE5cgdWH517P8Mv+LOf2p/wnv8AxKP7\n" +
//                "V8r7H/y8eb5W/f8A6nftx5idcZzxnBoA+gKKx/DfinRvF2nSX+h3n2u1jlMLP5Tx4cAEjDgHow/O\n" +
//                "tigDDn8aeFbW4lt7jxLo0M8TlJI5L+JWRgcEEFsgg8Yr488Cf8lD8Nf9hW1/9GrR47/5KH4l/wCw\n" +
//                "rdf+jWo8Cf8AJQ/DX/YVtf8A0atAH2vfX9nplnJeX93BaWseN808gjRckAZY8DJIH41T03xLoOs3\n" +
//                "DW+l63pt9OqF2jtbpJWC5AyQpJxkgZ9xXJ/G3/kkOu/9u/8A6UR14R8FPFOjeEfGV5f65efZLWTT\n" +
//                "3hV/KeTLmSMgYQE9FP5UAej/ALQ+haxrf/COf2TpV9f+T9p8z7JbvLsz5WM7QcZwevoa+fNS0nUt\n" +
//                "GuFt9U0+7sZ2QOsd1C0TFckZAYA4yCM+xr7T8MeNvDvjH7V/YGofbPsuzzv3Mke3dnb99RnO1unp\n" +
//                "XgH7R3/JQ9P/AOwVH/6NloA8forsNE+FvjLxHo8GraTo32ixn3eXL9qhTdtYqeGcEcgjkVof8KS+\n" +
//                "If8A0L3/AJO2/wD8coA5/wACf8lD8Nf9hW1/9GrX2vfX9nplnJeX93BaWseN808gjRckAZY8DJIH\n" +
//                "418saF8LfGXhnxDpmv6vo32bTNMu4r28n+1Qv5UMbh3barljhVJwASccA16f428beHfiN4QvvCnh\n" +
//                "TUP7Q1u/8v7Na+TJFv2SLI3zyKqjCIx5I6Y60AV/jXf2fjHwbZ6d4Xu4Ncvo9QSd7bTJBcyLGI5F\n" +
//                "LlY8kKCyjPTLD1rwj/hBPGH/AEKmuf8Agum/+Jr1D4caJqPwk8Q3Gv8Aji3/ALK0y4tGsop96z7p\n" +
//                "mdHC7YizD5Y3OSMcdeRXt/hjxt4d8Y/av7A1D7Z9l2ed+5kj27s7fvqM52t09KAOL+AWk6lo3gW+\n" +
//                "t9U0+7sZ21OR1juoWiYr5UQyAwBxkEZ9jXqlFFABRRRQAUUUUAFcf46+I+j/AA/+wf2tbX0327zP\n" +
//                "L+yIjY2bc53Mv98dM967CvP/AIm/DL/hY39l/wDE3/s/7B5v/Lt5u/fs/wBtcY2e/WgDc8FeNdN8\n" +
//                "eaNNqmlwXcMEVw1uy3SKrFgqtkbWYYw47+tc34p+Nfhvwj4ju9Dv7LVZLq12b3gijKHciuMEyA9G\n" +
//                "Hatj4ceBf+Ff+HrjSf7R+3+ddtc+b5HlYyiLtxub+5nOe9fOHxt/5K9rv/bv/wCk8dAHUX/wU8Se\n" +
//                "MdRufFGnXulRWOsyvqFvHcSyLIscxMihwIyAwDDIBIz3Ndv/AMNHeD/+gbrn/fiH/wCO16B4E/5J\n" +
//                "54a/7BVr/wCilr4w0LTP7b8Q6ZpPneT9uu4rbzdu7ZvcLuxkZxnOMigD3/W/iPo/xb0efwPoFtfW\n" +
//                "2p6nt8mW/REhXy2ErbijMw+WNgMKeSOnWvLPGvwm17wHo0Oqapd6bNBLcLbqtrI7MGKs2TuRRjCH\n" +
//                "v6V6H/wrL/hTn/Fe/wBr/wBr/wBlf8uP2b7P5vm/uf8AWb3248zd905xjjOa5D4j/GD/AIWB4et9\n" +
//                "J/sL7B5N2tz5v2vzc4R1242L/fznPagDr/2Zf+Zp/wC3T/2tW58WfhNr3jzxVa6ppd3psMEVkluy\n" +
//                "3UjqxYO7ZG1GGMOO/rXknwy+Jv8Awrn+1P8AiUf2h9v8r/l58rZs3/7DZzv9uld//wANNf8AUo/+\n" +
//                "VL/7VQB4x4p8N3nhHxHd6HfyQSXVrs3vAxKHciuMEgHow7V7n4a+PvhXRvCukaXcafrLT2VlDbyN\n" +
//                "HDEVLIgUkZkBxkegrxTxt4n/AOEx8X32v/Y/sf2ry/3Hm+Zt2xqn3sDOduenevUNC/Z4/tvw9pmr\n" +
//                "f8JT5P260iufK/s/ds3oG258wZxnGcCgCvYfBTxJ4O1G28Uaje6VLY6NKmoXEdvLI0jRwkSMEBjA\n" +
//                "LEKcAkDPcV2//DR3g/8A6Buuf9+If/jtchrv7Q/9t+HtT0n/AIRbyft1pLbeb/aG7ZvQrux5YzjO\n" +
//                "cZFeH0AfT/8Aw0d4P/6Buuf9+If/AI7XYeBfiPo/xA+3/wBk219D9h8vzPtaIud+7GNrN/cPXHav\n" +
//                "jCvQPhl8Tf8AhXP9qf8AEo/tD7f5X/Lz5WzZv/2Gznf7dKAPr+vB/iJ8FPEni7x3qWuWF7pUdrde\n" +
//                "VsSeWQONsSIcgRkdVPeq/wDw01/1KP8A5Uv/ALVR/wANNf8AUo/+VL/7VQBsWHxr8N+DtOtvC+o2\n" +
//                "Wqy32jRJp9xJbxRtG0kIEbFCZASpKnBIBx2FfPnhrUodG8VaRqlwsjQWV7DcSLGAWKo4YgZIGcD1\n" +
//                "FR67qf8AbfiHU9W8nyft13Lc+Vu3bN7ltucDOM4zgV7f/wAMy/8AU3f+U3/7bQB3Hhb41+G/F3iO\n" +
//                "00OwstVjurrfseeKMINqM5yRIT0U9q9Irx/wT8C/+EO8X2Ov/wDCR/bPsvmfuPsPl7t0bJ97zDjG\n" +
//                "7PTtXsFAHz/+01/zK3/b3/7RroP2cf8Aknmof9hWT/0VFXP/ALTX/Mrf9vf/ALRroP2cf+Seah/2\n" +
//                "FZP/AEVFQB5B8bf+Sva7/wBu/wD6Tx16X4a+PvhXRvCukaXcafrLT2VlDbyNHDEVLIgUkZkBxkeg\n" +
//                "rU8bfAv/AITHxffa/wD8JH9j+1eX+4+w+Zt2xqn3vMGc7c9O9c//AMMy/wDU3f8AlN/+20Acpq3w\n" +
//                "C8VaNo19qlxqGjNBZW8lxIsc0pYqiliBmMDOB6iuD8LeG7zxd4jtNDsJII7q637HnYhBtRnOSAT0\n" +
//                "U9q+19d0z+2/D2p6T53k/brSW283bu2b0K7sZGcZzjIrw/8A4Vl/wpz/AIr3+1/7X/sr/lx+zfZ/\n" +
//                "N839z/rN77ceZu+6c4xxnNAG58JvhNr3gPxVdapql3ps0Etk9uq2sjswYujZO5FGMIe/pWH+01/z\n" +
//                "K3/b3/7RrsPhx8YP+FgeIbjSf7C+weTaNc+b9r83OHRduNi/385z2rj/ANpr/mVv+3v/ANo0AYnw\n" +
//                "m+LOg+A/Ct1peqWmpTTy3r3CtaxoyhSiLg7nU5yh7eld3/w0d4P/AOgbrn/fiH/47XzBXsHgn4F/\n" +
//                "8Jj4Qsdf/wCEj+x/avM/cfYfM27ZGT73mDOduenegDzPxLqUOs+KtX1S3WRYL29muI1kADBXcsAc\n" +
//                "EjOD6mvYPDXwC8VaN4q0jVLjUNGaCyvYbiRY5pSxVHDEDMYGcD1FeN67pn9ieIdT0nzvO+w3ctt5\n" +
//                "u3bv2OV3YycZxnGTXv8AoX7Q/wDbfiHTNJ/4Rbyft13Fbeb/AGhu2b3C7seWM4znGRQB6R8RPDd5\n" +
//                "4u8CalodhJBHdXXlbHnYhBtlRzkgE9FPavmTxr8Jte8B6NDqmqXemzQS3C26rayOzBirNk7kUYwh\n" +
//                "7+lfUfjbxP8A8Id4Qvtf+x/bPsvl/uPN8vdukVPvYOMbs9O1eP8A/CT/APDQP/FKfY/7B+yf8TL7\n" +
//                "V5v2rfs/d7NmExnzc5z/AA4xzwAH7Mv/ADNP/bp/7Wrc+LPwm17x54qtdU0u702GCKyS3ZbqR1Ys\n" +
//                "HdsjajDGHHf1rpPhl8Mv+Fc/2p/xN/7Q+3+V/wAu3lbNm/8A22znf7dK9AoA8P0T4j6P8JNHg8D6\n" +
//                "/bX1zqembvOlsER4W8xjKu0uysflkUHKjkHr1r2TSdSh1nRrHVLdZFgvbeO4jWQAMFdQwBwSM4Pq\n" +
//                "a8r8bfAv/hMfF99r/wDwkf2P7V5f7j7D5m3bGqfe8wZztz071z//AAvT/hCv+KU/4Rz7b/Yn/Et+\n" +
//                "1fbvL87yf3e/Z5Z2525xk4zjJoA2L/41+G/GOnXPhfTrLVYr7WYn0+3kuIo1jWSYGNS5EhIUFhkg\n" +
//                "E47GuY0T4cax8JNYg8ca/c2NzpmmbvOisHd5m8xTEu0OqqfmkUnLDgHr0rx/QtT/ALE8Q6Zq3k+d\n" +
//                "9hu4rnyt23fscNtzg4zjGcGvUPG3x0/4THwhfaB/wjn2P7V5f7/7d5m3bIr/AHfLGc7cde9AHT+J\n" +
//                "PEln8d9Oj8L+F457O+tZRqDyamojjMagxkAxlzuzKvGMYB59eo+D/wAONY+H/wDbP9rXNjN9u8jy\n" +
//                "/sju2NnmZzuVf746Z715h+zj/wAlD1D/ALBUn/o2KvX/AIm/E3/hXP8AZf8AxKP7Q+3+b/y8+Vs2\n" +
//                "bP8AYbOd/t0oA9Aorj/hx46/4WB4euNW/s77B5N21t5Xn+bnCI27O1f7+MY7V2FABRRRQAUUUUAF\n" +
//                "eX/GD4j6x8P/AOxv7JtrGb7d5/mfa0dsbPLxjay/3z1z2r1Cvn/9pr/mVv8At7/9o0AYH/DR3jD/\n" +
//                "AKBuh/8Afib/AOO11+ifDjR/i3o8HjjX7m+ttT1Pd50Vg6JCvlsYl2h1Zh8sak5Y8k9OlfOFdhon\n" +
//                "xS8ZeHNHg0nSdZ+z2MG7y4vssL7dzFjyyEnkk8mgDuL/AONfiTwdqNz4X06y0qWx0aV9Pt5LiKRp\n" +
//                "GjhJjUuRIAWIUZIAGewr0PSfgF4V0bWbHVLfUNZaeyuI7iNZJoipZGDAHEYOMj1FSaF8LfBvibw9\n" +
//                "pmv6vo32nU9TtIr28n+1TJ5s0iB3barhRlmJwAAM8AV3Hiy+uNM8G65f2cnl3Vrp9xNC+0Ha6xsV\n" +
//                "ODwcEDrQAeKfDdn4u8OXeh38k8drdbN7wMA42urjBII6qO1fPnxZ+E2g+A/Ctrqml3epTTy3qW7L\n" +
//                "dSIyhSjtkbUU5yg7+tc3/wALt+If/Qw/+SVv/wDG6x/EnxE8VeLtOjsNc1X7XaxyiZU+zxR4cAgH\n" +
//                "KKD0Y/nQB1Hwf+HGj/ED+2f7Wub6H7D5Hl/ZHRc7/Mzncrf3B0x3rL+LPgrTfAfiq10vS57uaCWy\n" +
//                "S4Zrp1Zgxd1wNqqMYQdvWvQ/2Zf+Zp/7dP8A2tWB+0d/yUPT/wDsFR/+jZaANj4d/BTw34u8Cabr\n" +
//                "l/e6rHdXXm70gljCDbK6DAMZPRR3r3vSdNh0bRrHS7dpGgsreO3jaQgsVRQoJwAM4HoK4v4Jf8kh\n" +
//                "0L/t4/8ASiSvGPFnxf8AHemeMtcsLPXfLtbXULiGFPskB2osjBRkpk4AHWgD0f8A4Zx8H/8AQS1z\n" +
//                "/v8Aw/8Axqj/AIZx8H/9BLXP+/8AD/8AGq8g/wCF2/EP/oYf/JK3/wDjddh8Lfil4y8R/EfSdJ1b\n" +
//                "WftFjP53mRfZYU3bYXYcqgI5APBoA6//AIZx8H/9BLXP+/8AD/8AGq8w+MHw40f4f/2N/ZNzfTfb\n" +
//                "vP8AM+1ujY2eXjG1V/vnrntX1fXz/wDtNf8AMrf9vf8A7RoAxPhN8JtB8eeFbrVNUu9ShnivXt1W\n" +
//                "1kRVKhEbJ3Ixzlz39K7v/hnHwf8A9BLXP+/8P/xqj9nH/knmof8AYVk/9FRVyHxS+KXjLw58R9W0\n" +
//                "nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8mgDr/8AhnHwf/0Etc/7/wAP/wAar2CsfwnfXGp+DdDv7yTz\n" +
//                "Lq60+3mmfaBudo1LHA4GST0o8WX1xpng3XL+zk8u6tdPuJoX2g7XWNipweDggdaANiuD+LPjXUvA\n" +
//                "fhW11TS4LSaeW9S3ZbpGZQpR2yNrKc5Qd/WvLPhb8UvGXiP4j6TpOraz9osZ/O8yL7LCm7bC7DlU\n" +
//                "BHIB4Ne7+JPC2jeLtOjsNcs/tdrHKJlTzXjw4BAOUIPRj+dAHi/hj/jIH7V/wlf+hf2Js+zf2V+7\n" +
//                "3+dndv8AM35x5S4xjqevb1zwV4K03wHo02l6XPdzQS3DXDNdOrMGKquBtVRjCDt61J4Y8E+HfB32\n" +
//                "r+wNP+x/atnnfvpJN23O377HGNzdPWugoA8H+Inxr8SeEfHepaHYWWlSWtr5Wx54pC53RI5yRIB1\n" +
//                "Y9q5j/ho7xh/0DdD/wC/E3/x2vb9b+Fvg3xHrE+rato32i+n2+ZL9qmTdtUKOFcAcADgVn/8KS+H\n" +
//                "n/Qvf+Ttx/8AHKAPNPDXx98Vaz4q0jS7jT9GWC9vYbeRo4ZQwV3CkjMhGcH0Ne5+KfDdn4u8OXeh\n" +
//                "38k8drdbN7wMA42urjBII6qO1cPrvwt8G+GfD2p6/pGjfZtT0y0lvbOf7VM/lTRoXRtrOVOGUHBB\n" +
//                "BxyDXiH/AAu34h/9DD/5JW//AMboA9H8SeG7P4EadH4o8LyT3l9dSjT3j1NhJGI2BkJAjCHdmJec\n" +
//                "4wTx6V/DH/GQP2r/AISv/Qv7E2fZv7K/d7/Ozu3+ZvzjylxjHU9e1D4ca3qPxb8Q3GgeOLj+1dMt\n" +
//                "7Rr2KDYsG2ZXRA26IKx+WRxgnHPTgVf+Jv8AxZz+y/8AhAv+JR/avm/bP+XjzfK2bP8AXb9uPMfp\n" +
//                "jOec4FAHQf8ADOPg/wD6CWuf9/4f/jVekeFvDdn4R8OWmh2Ek8lra79jzsC53OznJAA6se1cf8FP\n" +
//                "FOs+LvBt5f65efa7qPUHhV/KSPCCOMgYQAdWP515x8Uvil4y8OfEfVtJ0nWfs9jB5PlxfZYX27oU\n" +
//                "Y8shJ5JPJoA8v8d/8lD8S/8AYVuv/RrVl6TqU2jazY6pbrG09lcR3EayAlSyMGAOCDjI9RX1HoXw\n" +
//                "t8G+JvD2ma/q+jfadT1O0ivbyf7VMnmzSIHdtquFGWYnAAAzwBVfxZ8IPAmmeDdcv7PQvLurXT7i\n" +
//                "aF/tc52usbFTgvg4IHWgDyDxT8a/Eni7w5d6Hf2WlR2t1s3vBFIHG11cYJkI6qO1c34K8a6l4D1m\n" +
//                "bVNLgtJp5bdrdlukZlCllbI2spzlB39aufC3RNO8R/EfSdJ1a3+0WM/neZFvZN22F2HKkEcgHg16\n" +
//                "R8a/h34V8I+DbO/0PSvsl1JqCQs/2iWTKGOQkYdiOqj8qAMf/ho7xh/0DdD/AO/E3/x2j/ho7xh/\n" +
//                "0DdD/wC/E3/x2j4F+CfDvjH+3v7f0/7Z9l+z+T++kj27vM3fcYZztXr6Vj/Gvwto3hHxlZ2Gh2f2\n" +
//                "S1k09JmTzXky5kkBOXJPRR+VAH0f8O/El54u8Cabrl/HBHdXXm70gUhBtldBgEk9FHevkjx3/wAl\n" +
//                "D8S/9hW6/wDRrV9P/BL/AJJDoX/bx/6USVYv/hB4E1PUbm/vNC8y6upXmmf7XONzsSWOA+Bkk9KA\n" +
//                "OX/4Zx8H/wDQS1z/AL/w/wDxquY+InwU8N+EfAmpa5YXuqyXVr5WxJ5Yyh3SohyBGD0Y964f/hdv\n" +
//                "xD/6GH/ySt//AI3WfrfxS8ZeI9Hn0nVtZ+0WM+3zIvssKbtrBhyqAjkA8GgDsP2cf+Sh6h/2CpP/\n" +
//                "AEbFXt/jr4caP8QPsH9rXN9D9h8zy/sjoud+3Odyt/cHTHevEP2cf+Sh6h/2CpP/AEbFX0/QBzfg\n" +
//                "rwVpvgPRptL0ue7mgluGuGa6dWYMVVcDaqjGEHb1rpKKKACiiigAooooAK+f/wBpr/mVv+3v/wBo\n" +
//                "19AUUAeF/ALw1oOs+Bb641TRNNvp11ORFkurVJWC+VEcAsCcZJOPc16p/wAIJ4P/AOhU0P8A8F0P\n" +
//                "/wATXgH7R3/JQ9P/AOwVH/6Nlrzex8J+JNTs47yw8P6rd2smdk0FlJIjYJBwwGDggj8KAPuOCCG1\n" +
//                "t4re3ijhgiQJHHGoVUUDAAA4AA4xWH47/wCSeeJf+wVdf+imr5A/4QTxh/0Kmuf+C6b/AOJr6j8a\n" +
//                "eNPCt14F8Q29v4l0aaeXTLlI447+JmdjEwAADZJJ4xQB86fCCws9T+KWjWd/aQXdrJ5++GeMSI2I\n" +
//                "JCMqeDggH8K9T+PvhrQdG8C2NxpeiabYztqcaNJa2qRMV8qU4JUA4yAcewr58sbC81O8js7C0nu7\n" +
//                "qTOyGCMyO2AScKOTgAn8K9g+ClheeDvGV5qPii0n0Oxk094EudTjNtG0hkjYIGkwCxCscdcKfSgD\n" +
//                "X/Zl/wCZp/7dP/a1YH7R3/JQ9P8A+wVH/wCjZa3/AI6f8Vr/AGD/AMIp/wAT77J9o+0/2V/pXk7/\n" +
//                "AC9u/wAvO3O1sZ67T6V1nwC0nUtG8C31vqmn3djO2pyOsd1C0TFfKiGQGAOMgjPsaAPmyx8WeJNM\n" +
//                "s47Ow8QaraWsedkMF7JGi5JJwoOBkkn8ay555rq4luLiWSaeVy8kkjFmdickknkknnNfcd94s8N6\n" +
//                "ZeSWd/4g0q0uo8b4Z72ON1yARlScjIIP41qQTw3VvFcW8sc0EqB45I2DK6kZBBHBBHOaAOH8aeC/\n" +
//                "Ctr4F8Q3Fv4a0aGeLTLl45I7CJWRhExBBC5BB5zXyJY395pl5HeWF3PaXUedk0Ehjdcgg4YcjIJH\n" +
//                "419t+NIJrrwL4ht7eKSaeXTLlI441LM7GJgAAOSSeMV86fCDwn4k0z4paNeX/h/VbS1j8/fNPZSR\n" +
//                "ouYJAMsRgZJA/GgDc+AXiXXtZ8dX1vqmt6lfQLpkjrHdXTyqG82IZAYkZwSM+5r3vU9C0fW/K/tb\n" +
//                "SrG/8nPl/a7dJdmcZxuBxnA6egqTUtW03RrdbjVNQtLGBnCLJdTLEpbBOAWIGcAnHsaj0zXdH1vz\n" +
//                "f7J1Wxv/ACceZ9kuEl2ZzjO0nGcHr6GgCTTdJ03RrdrfS9PtLGBnLtHawrEpbAGSFAGcADPsK+TP\n" +
//                "jb/yV7Xf+3f/ANJ467T4++Gte1nx1Y3Gl6JqV9AumRo0lravKobzZTglQRnBBx7ivE76wvNMvJLO\n" +
//                "/tJ7S6jxvhnjMbrkAjKnkZBB/GgD7X8Cf8k88Nf9gq1/9FLW5PBDdW8tvcRRzQSoUkjkUMrqRggg\n" +
//                "8EEcYrh/BfjTwra+BfD1vceJdGhni0y2SSOS/iVkYRKCCC2QQeMV8uf8IJ4w/wChU1z/AMF03/xN\n" +
//                "AH2PY+E/DemXkd5YeH9KtLqPOyaCyjjdcgg4YDIyCR+NbFfKHwt0LWPDPxH0nV9f0q+0rTLfzvOv\n" +
//                "b+3eCGLdC6rudwFGWZQMnkkDvXo/xrv7Pxj4Ns9O8L3cGuX0eoJO9tpkguZFjEcilyseSFBZRnpl\n" +
//                "h60Ae0V86fH3xLr2jeOrG30vW9SsYG0yN2jtbp4lLebKMkKQM4AGfYV43qehaxonlf2tpV9Yedny\n" +
//                "/tdu8W/GM43AZxkdPUVJpvhrXtZt2uNL0TUr6BXKNJa2ryqGwDglQRnBBx7igD6z+EF/ean8LdGv\n" +
//                "L+7nu7qTz9808hkdsTyAZY8nAAH4V86eNPGniq18deIbe38S6zDBFqdykccd/KqoolYAABsAAcYr\n" +
//                "6L+EFheaZ8LdGs7+0ntLqPz98M8ZjdczyEZU8jIIP4186eNPBfiq68deIbi38NazNBLqdy8ckdhK\n" +
//                "yuplYgghcEEc5oA+v54Ibq3lt7iKOaCVCkkcihldSMEEHggjjFeV/F/wn4b0z4W6zeWHh/SrS6j8\n" +
//                "jZNBZRxuuZ4wcMBkZBI/Gtzxp408K3XgXxDb2/iXRpp5dMuUjjjv4mZ2MTAAANkknjFfOnwgv7PT\n" +
//                "Pilo15f3cFpax+fvmnkEaLmCQDLHgZJA/GgDk9N1bUtGuGuNL1C7sZ2Qo0lrM0TFcg4JUg4yAcew\n" +
//                "qTU9d1jW/K/tbVb6/wDJz5f2u4eXZnGcbicZwOnoK97+PviXQdZ8C2Nvpet6bfTrqcbtHa3SSsF8\n" +
//                "qUZIUk4yQM+4rE/Z413R9E/4ST+1tVsbDzvs3l/a7hIt+PNzjcRnGR09RQB1/wCzj/yTzUP+wrJ/\n" +
//                "6KiryD42/wDJXtd/7d//AEnjrqPjXYXnjHxlZ6j4XtJ9csY9PSB7nTIzcxrIJJGKFo8gMAynHXDD\n" +
//                "1rzf/hBPGH/Qqa5/4Lpv/iaAI4PGniq1t4re38S6zDBEgSOOO/lVUUDAAAbAAHGK+w/Hf/JPPEv/\n" +
//                "AGCrr/0U1fIH/CCeMP8AoVNc/wDBdN/8TWx4T8J+JNL8ZaHqOo+H9Vs7G11C3nuLm4spI44Y1kVm\n" +
//                "d2IAVQASSeABQBx9jf3mmXkd5YXc9pdR52TQSGN1yCDhhyMgkfjXsHwUv7zxj4yvNO8UXc+uWMen\n" +
//                "vOltqchuY1kEkahwsmQGAZhnrhj617v/AMJ34P8A+hr0P/wYw/8AxVH/AAnfg/8A6GvQ/wDwYw//\n" +
//                "ABVAGhpmhaPonm/2TpVjYedjzPslukW/GcZ2gZxk9fU184ftHf8AJQ9P/wCwVH/6Nlrf+On/ABWv\n" +
//                "9g/8Ip/xPvsn2j7T/ZX+leTv8vbv8vO3O1sZ67T6VsfBS/s/B3g2807xRdwaHfSag86W2pyC2kaM\n" +
//                "xxqHCyYJUlWGemVPpQB1HwS/5JDoX/bx/wClElfPnjTxp4qtfHXiG3t/EuswwRancpHHHfyqqKJW\n" +
//                "AAAbAAHGKj+L9/Z6n8UtZvLC7gu7WTyNk0EgkRsQRg4YcHBBH4V9F+C/GnhW18C+Hre48S6NDPFp\n" +
//                "lskkcl/ErIwiUEEFsgg8YoA+WPBcEN1468PW9xFHNBLqdskkcihldTKoIIPBBHGK+i/i/wCE/Dem\n" +
//                "fC3Wbyw8P6VaXUfkbJoLKON1zPGDhgMjIJH418uQQTXVxFb28Uk08rhI441LM7E4AAHJJPGK3P8A\n" +
//                "hBPGH/Qqa5/4Lpv/AImgDL03VtS0a4a40vULuxnZCjSWszRMVyDglSDjIBx7CvoP9njXdY1v/hJP\n" +
//                "7W1W+v8Ayfs3l/a7h5dmfNzjcTjOB09BXiH/AAgnjD/oVNc/8F03/wATR/wgnjD/AKFTXP8AwXTf\n" +
//                "/E0Afb9FeV/ALSdS0bwLfW+qafd2M7anI6x3ULRMV8qIZAYA4yCM+xr1SgAooooAKKKKACiiuP8A\n" +
//                "HXxH0f4f/YP7Wtr6b7d5nl/ZERsbNuc7mX++Ome9AHm/xr+Hfirxd4ys7/Q9K+12senpCz/aIo8O\n" +
//                "JJCRh2B6MPzr0j4W6JqPhz4caTpOrW/2e+g87zIt6vt3TOw5UkHgg8GuP/4aO8H/APQN1z/vxD/8\n" +
//                "dr0jwt4ks/F3hy01ywjnjtbrfsSdQHG12Q5AJHVT3oA2K+AK+/6+DNJ02bWdZsdLt2jWe9uI7eNp\n" +
//                "CQoZ2CgnAJxk+hoA6T4W63p3hz4j6Tq2rXH2exg87zJdjPt3Quo4UEnkgcCvSPjX8RPCvi7wbZ2G\n" +
//                "h6r9ruo9QSZk+zyx4QRyAnLqB1YfnWP/AMM4+MP+glof/f8Am/8AjVH/AAzj4w/6CWh/9/5v/jVA\n" +
//                "B8C/G3h3wd/b39v6h9j+1fZ/J/cySbtvmbvuKcY3L19a+h/DfinRvF2nSX+h3n2u1jlMLP5Tx4cA\n" +
//                "EjDgHow/Ovkjx18ONY+H/wBg/ta5sZvt3meX9kd2xs25zuVf746Z717f+zj/AMk81D/sKyf+ioqA\n" +
//                "PIPjb/yV7Xf+3f8A9J469n8J/F/wJpng3Q7C813y7q10+3hmT7JOdrrGoYZCYOCD0rxj42/8le13\n" +
//                "/t3/APSeOtTSfgF4q1nRrHVLfUNGWC9t47iNZJpQwV1DAHEZGcH1NAH1Hf31vpmnXN/eSeXa2sTz\n" +
//                "TPtJ2ooJY4HJwAelcP8A8Lt+Hn/Qw/8Aklcf/G64vxL8ffCus+FdX0u30/WVnvbKa3jaSGIKGdCo\n" +
//                "JxITjJ9DXzpQB9H/ABH1vTvi34et9A8D3H9q6nb3a3ssGxoNsKo6Ft0oVT80iDAOeenBrQ+Bfgnx\n" +
//                "F4O/t7+39P8Asf2r7P5P76OTdt8zd9xjjG5evrXAfs4/8lD1D/sFSf8Ao2Kvb/HXxH0f4f8A2D+1\n" +
//                "ra+m+3eZ5f2REbGzbnO5l/vjpnvQBY8SfETwr4R1GOw1zVfsl1JEJlT7PLJlCSAcopHVT+VeEeNv\n" +
//                "BPiL4jeL77xX4U0/+0NEv/L+zXXnRxb9kaxt8kjKww6MOQOmelbHiTw3efHfUY/FHheSCzsbWIae\n" +
//                "8epsY5DIpMhIEYcbcSrznOQePXX0T4j6P8JNHg8D6/bX1zqembvOlsER4W8xjKu0uysflkUHKjkH\n" +
//                "r1oA8w/4Ul8Q/wDoXv8Aydt//jle/wD/AAu34ef9DD/5JXH/AMbrtNJ1KHWdGsdUt1kWC9t47iNZ\n" +
//                "AAwV1DAHBIzg+pr5g1b4BeKtG0a+1S41DRmgsreS4kWOaUsVRSxAzGBnA9RQB3fxS+KXg3xH8ONW\n" +
//                "0nSdZ+0X0/k+XF9lmTdtmRjyyADgE8mvOPgp4p0bwj4yvL/XLz7Jayae8Kv5TyZcyRkDCAnop/Kv\n" +
//                "N66TwV4K1Lx5rM2l6XPaQzxW7XDNdOyqVDKuBtVjnLjt60Ad58dPG3h3xj/YP9gah9s+y/aPO/cy\n" +
//                "R7d3l7fvqM52t09K2Pgp8RPCvhHwbeWGuar9kupNQeZU+zyyZQxxgHKKR1U/lWP/AMM4+MP+glof\n" +
//                "/f8Am/8AjVH/AAzj4w/6CWh/9/5v/jVAHr//AAu34ef9DD/5JXH/AMbruLC+t9T062v7OTzLW6iS\n" +
//                "aF9pG5GAKnB5GQR1r4g8U+G7zwj4ju9Dv5IJLq12b3gYlDuRXGCQD0Ydq9z8NfH3wro3hXSNLuNP\n" +
//                "1lp7Kyht5GjhiKlkQKSMyA4yPQUAfOlaGiaJqPiPWINJ0m3+0X0+7y4t6pu2qWPLEAcAnk1HpOmz\n" +
//                "azrNjpdu0az3txHbxtISFDOwUE4BOMn0NeyaJ8ONY+EmsQeONfubG50zTN3nRWDu8zeYpiXaHVVP\n" +
//                "zSKTlhwD16UAcf8A8KS+If8A0L3/AJO2/wD8co/4Ul8Q/wDoXv8Aydt//jlfQfgr4s6D481mbS9L\n" +
//                "tNShnit2uGa6jRVKhlXA2uxzlx29a7ygDw/4ca3p3wk8PXGgeOLj+ytTuLtr2KDY0+6FkRA26IMo\n" +
//                "+aNxgnPHTkV7Bomt6d4j0eDVtJuPtFjPu8uXYybtrFTwwBHII5FeV/Fn4Ta9488VWuqaXd6bDBFZ\n" +
//                "Jbst1I6sWDu2RtRhjDjv613nw78N3nhHwJpuh38kEl1a+bveBiUO6V3GCQD0YdqAOorH8WWNxqfg\n" +
//                "3XLCzj8y6utPuIYU3AbnaNgoyeBkkda2K8f/AOGjvB//AEDdc/78Q/8Ax2gDxDW/hb4y8OaPPq2r\n" +
//                "aN9nsYNvmS/aoX27mCjhXJPJA4FcfXvHxE+Nfhvxd4E1LQ7Cy1WO6uvK2PPFGEG2VHOSJCeintXg\n" +
//                "9AHsHwL8beHfB39vf2/qH2P7V9n8n9zJJu2+Zu+4pxjcvX1rH+NfinRvF3jKzv8AQ7z7Xax6ekLP\n" +
//                "5Tx4cSSEjDgHow/OvN67zwV8Jte8eaNNqml3emwwRXDW7LdSOrFgqtkbUYYw47+tAHB0V7B/wzj4\n" +
//                "w/6CWh/9/wCb/wCNUf8ADOPjD/oJaH/3/m/+NUAef+BP+Sh+Gv8AsK2v/o1a+36+IPAn/JQ/DX/Y\n" +
//                "Vtf/AEatfY/inxJZ+EfDl3rl/HPJa2uzekCgudzqgwCQOrDvQBsUVwfgr4s6D481mbS9LtNShnit\n" +
//                "2uGa6jRVKhlXA2uxzlx29a7ygAooooAKKKKACiiigArz/wCJvwy/4WN/Zf8AxN/7P+web/y7ebv3\n" +
//                "7P8AbXGNnv1r0CvL/jB8R9Y+H/8AY39k21jN9u8/zPtaO2Nnl4xtZf75657UAeAfEfwL/wAK/wDE\n" +
//                "NvpP9o/b/OtFufN8jysZd1243N/cznPeuw8E/HT/AIQ7whY6B/wjn2z7L5n7/wC3eXu3SM/3fLOM\n" +
//                "bsde1cH418a6l481mHVNUgtIZ4rdbdVtUZVKhmbJ3Mxzlz39K5ugD3//AIaa/wCpR/8AKl/9qryD\n" +
//                "wJ/yUPw1/wBhW1/9GrXtfhr4BeFdZ8K6RqlxqGsrPe2UNxIsc0QUM6BiBmMnGT6mvFPAn/JQ/DX/\n" +
//                "AGFbX/0atAH1/wCNvE//AAh3hC+1/wCx/bPsvl/uPN8vdukVPvYOMbs9O1cf8OPjB/wsDxDcaT/Y\n" +
//                "X2DybRrnzftfm5w6LtxsX+/nOe1dx4p8N2fi7w5d6HfyTx2t1s3vAwDja6uMEgjqo7Vzfgr4TaD4\n" +
//                "D1mbVNLu9Smnlt2t2W6kRlCllbI2opzlB39aAPO/2mv+ZW/7e/8A2jXIfDj4wf8ACv8Aw9caT/YX\n" +
//                "2/zrtrnzftflYyiLtxsb+5nOe9df+01/zK3/AG9/+0axPhN8JtB8eeFbrVNUu9ShnivXt1W1kRVK\n" +
//                "hEbJ3Ixzlz39KAPO/G3if/hMfF99r/2P7H9q8v8Aceb5m3bGqfewM5256d6+v/An/JPPDX/YKtf/\n" +
//                "AEUtfJHxE8N2fhHx3qWh2Ek8lra+VsedgXO6JHOSAB1Y9q+t/An/ACTzw1/2CrX/ANFLQB8YaFpn\n" +
//                "9t+IdM0nzvJ+3XcVt5u3ds3uF3YyM4znGRXt/wDwzL/1N3/lN/8AtteQeBP+Sh+Gv+wra/8Ao1a+\n" +
//                "t/iJ4kvPCPgTUtcsI4JLq18rYk6kod0qIcgEHox70Acv8OPg/wD8K/8AENxq39u/b/OtGtvK+yeV\n" +
//                "jLo27O9v7mMY71ofE34Zf8LG/sv/AIm/9n/YPN/5dvN379n+2uMbPfrXkH/DR3jD/oG6H/34m/8A\n" +
//                "jtH/AA0d4w/6Buh/9+Jv/jtAHt/w48C/8K/8PXGk/wBo/b/Ou2ufN8jysZRF243N/cznPeuP8bfA\n" +
//                "v/hMfF99r/8Awkf2P7V5f7j7D5m3bGqfe8wZztz0710nwm8a6l488K3WqapBaQzxXr26raoyqVCI\n" +
//                "2TuZjnLnv6VwfxE+NfiTwj471LQ7Cy0qS1tfK2PPFIXO6JHOSJAOrHtQBX/4Xp/whX/FKf8ACOfb\n" +
//                "f7E/4lv2r7d5fneT+737PLO3O3OMnGcZNH/C9P8AhNf+KU/4Rz7F/bf/ABLftX27zPJ8793v2eWN\n" +
//                "2N2cZGcYyK2LD4KeG/GOnW3ijUb3VYr7WYk1C4jt5Y1jWSYCRggMZIUFjgEk47mvnTSdSm0bWbHV\n" +
//                "LdY2nsriO4jWQEqWRgwBwQcZHqKAPVPG3wL/AOEO8IX2v/8ACR/bPsvl/uPsPl7t0ip97zDjG7PT\n" +
//                "tR+zj/yUPUP+wVJ/6NirH8U/GvxJ4u8OXeh39lpUdrdbN7wRSBxtdXGCZCOqjtWx+zj/AMlD1D/s\n" +
//                "FSf+jYqAPX/ib8Tf+Fc/2X/xKP7Q+3+b/wAvPlbNmz/YbOd/t0rQ+HHjr/hYHh641b+zvsHk3bW3\n" +
//                "lef5ucIjbs7V/v4xjtR46+HGj/ED7B/a1zfQ/YfM8v7I6Lnftzncrf3B0x3q54K8Fab4D0abS9Ln\n" +
//                "u5oJbhrhmunVmDFVXA2qoxhB29aAPmT42/8AJXtd/wC3f/0njrz+vQPjb/yV7Xf+3f8A9J468/oA\n" +
//                "6DwJ/wAlD8Nf9hW1/wDRq19f+NvDH/CY+EL7QPtn2P7V5f7/AMrzNu2RX+7kZztx171xek/ALwro\n" +
//                "2s2OqW+oay09lcR3EayTRFSyMGAOIwcZHqK9UoA8v+HHwf8A+Ff+IbjVv7d+3+daNbeV9k8rGXRt\n" +
//                "2d7f3MYx3r1CuD+LPjXUvAfhW11TS4LSaeW9S3ZbpGZQpR2yNrKc5Qd/Wsv4P/EfWPiB/bP9rW1j\n" +
//                "D9h8jy/siOud/mZzuZv7g6Y70AHxH+MH/Cv/ABDb6T/YX2/zrRbnzftflYy7rtxsb+5nOe9cf/w0\n" +
//                "1/1KP/lS/wDtVYH7R3/JQ9P/AOwVH/6NlrY+HfwU8N+LvAmm65f3uqx3V15u9IJYwg2yugwDGT0U\n" +
//                "d6AJ/wDhpr/qUf8Aypf/AGqvENC0z+2/EOmaT53k/bruK283bu2b3C7sZGcZzjIqTxLpsOjeKtX0\n" +
//                "u3aRoLK9mt42kILFUcqCcADOB6CvoO/+Cnhvwdp1z4o0691WW+0aJ9Qt47iWNo2khBkUOBGCVJUZ\n" +
//                "AIOO4oA4jxt8C/8AhDvCF9r/APwkf2z7L5f7j7D5e7dIqfe8w4xuz07Vx/w48C/8LA8Q3Gk/2j9g\n" +
//                "8m0a583yPNzh0Xbjcv8AfznPatjxT8a/Eni7w5d6Hf2WlR2t1s3vBFIHG11cYJkI6qO1c34K8a6l\n" +
//                "4D1mbVNLgtJp5bdrdlukZlCllbI2spzlB39aANz4m/DL/hXP9l/8Tf8AtD7f5v8Ay7eVs2bP9ts5\n" +
//                "3+3SvX/2cf8Aknmof9hWT/0VFXiHjr4j6x8QPsH9rW1jD9h8zy/siOud+3OdzN/cHTHevb/2cf8A\n" +
//                "knmof9hWT/0VFQAeNvjp/wAId4vvtA/4Rz7Z9l8v9/8AbvL3bo1f7vlnGN2OvavUNC1P+2/D2mat\n" +
//                "5Pk/brSK58rdu2b0Dbc4GcZxnArh/FPwU8N+LvEd3rl/e6rHdXWzekEsYQbUVBgGMnoo713mk6bD\n" +
//                "o2jWOl27SNBZW8dvG0hBYqihQTgAZwPQUAfFngT/AJKH4a/7Ctr/AOjVr6f+Nv8AySHXf+3f/wBK\n" +
//                "I6+TNJ1KbRtZsdUt1jaeyuI7iNZASpZGDAHBBxkeorvPFPxr8SeLvDl3od/ZaVHa3Wze8EUgcbXV\n" +
//                "xgmQjqo7UAbH7OP/ACUPUP8AsFSf+jYq+n6+YP2cf+Sh6h/2CpP/AEbFX0/QAUUUUAFFFFABRRRQ\n" +
//                "AVz/AIn8E+HfGP2X+39P+2fZd/k/vpI9u7G77jDOdq9fSugrw/8AaH13WNE/4Rz+ydVvrDzvtPmf\n" +
//                "ZLh4t+PKxnaRnGT19TQB2H/Ckvh5/wBC9/5O3H/xyj/hSXw8/wChe/8AJ24/+OV8wf8ACd+MP+hr\n" +
//                "1z/wYzf/ABVH/Cd+MP8Aoa9c/wDBjN/8VQB2Gu/FLxl4Z8Q6noGkaz9m0zTLuWys4PssL+VDG5RF\n" +
//                "3MhY4VQMkknHJNeb2F9caZqNtf2cnl3VrKk0L7QdrqQVODwcEDrUc8811cS3FxLJNPK5eSSRizOx\n" +
//                "OSSTySTzmtjwXBDdeOvD1vcRRzQS6nbJJHIoZXUyqCCDwQRxigDpP+F2/EP/AKGH/wAkrf8A+N0f\n" +
//                "8Lt+If8A0MP/AJJW/wD8br6f/wCEE8H/APQqaH/4Lof/AImvK/j74a0HRvAtjcaXomm2M7anGjSW\n" +
//                "tqkTFfKlOCVAOMgHHsKAPFPE/jbxF4x+y/2/qH2z7Lv8n9zHHt3Y3fcUZztXr6VY8N/ETxV4R06S\n" +
//                "w0PVfslrJKZmT7PFJlyACcupPRR+VcvRQB9P+CfBPh34jeELHxX4r0/+0Nbv/M+03XnSRb9kjRr8\n" +
//                "kbKowiKOAOmetesWFjb6Zp1tYWcfl2trEkMKbidqKAFGTycADrXD/BL/AJJDoX/bx/6USV6BQBw9\n" +
//                "h8IPAmmajbX9noXl3VrKk0L/AGuc7XUgqcF8HBA611Gt6Jp3iPR59J1a3+0WM+3zIt7Ju2sGHKkE\n" +
//                "cgHg18meC/Gniq68deHre48S6zNBLqdskkcl/KyuplUEEFsEEcYr6L+L9/eaZ8LdZvLC7ntLqPyN\n" +
//                "k0Ehjdczxg4YcjIJH40AV/8AhSXw8/6F7/yduP8A45R/wpL4ef8AQvf+Ttx/8crzT4BeJde1nx1f\n" +
//                "W+qa3qV9AumSOsd1dPKobzYhkBiRnBIz7mtv9ofXdY0T/hHP7J1W+sPO+0+Z9kuHi348rGdpGcZP\n" +
//                "X1NAGB8R9b1H4SeIbfQPA9x/ZWmXFot7LBsWfdMzuhbdKGYfLGgwDjjpya6/wT4J8O/EbwhY+K/F\n" +
//                "en/2hrd/5n2m686SLfskaNfkjZVGERRwB0z1r5s1LVtS1m4W41TULu+nVAiyXUzSsFyTgFiTjJJx\n" +
//                "7mrlj4s8SaZZx2dh4g1W0tY87IYL2SNFySThQcDJJP40Afb9hY2+madbWFnH5draxJDCm4naigBR\n" +
//                "k8nAA615f4s+EHgTTPBuuX9noXl3Vrp9xNC/2uc7XWNipwXwcEDrXeeC55rrwL4euLiWSaeXTLZ5\n" +
//                "JJGLM7GJSSSeSSec1sTwQ3VvLb3EUc0EqFJI5FDK6kYIIPBBHGKAPgStjw34p1nwjqMl/od59kup\n" +
//                "IjCz+UkmUJBIw4I6qPyr7H/4QTwf/wBCpof/AILof/ia8r+PvhrQdG8C2NxpeiabYztqcaNJa2qR\n" +
//                "MV8qU4JUA4yAcewoA80/4Xb8Q/8AoYf/ACSt/wD43R/wu34h/wDQw/8Aklb/APxuvP6+i/gF4a0H\n" +
//                "WfAt9capomm3066nIiyXVqkrBfKiOAWBOMknHuaAPBNb1vUfEesT6tq1x9ovp9vmS7FTdtUKOFAA\n" +
//                "4AHArPr7f/4QTwf/ANCpof8A4Lof/ia+PPGkENr468Q29vFHDBFqdykccahVRRKwAAHAAHGKAPuO\n" +
//                "uP8Ailreo+HPhxq2raTcfZ76DyfLl2K+3dMinhgQeCRyK+bPBfjTxVdeOvD1vceJdZmgl1O2SSOS\n" +
//                "/lZXUyqCCC2CCOMV9B/G3/kkOu/9u/8A6UR0AfNHiT4ieKvF2nR2Guar9rtY5RMqfZ4o8OAQDlFB\n" +
//                "6Mfzqv4Y8beIvB32r+wNQ+x/atnnfuY5N23O376nGNzdPWu0+AWk6brPjq+t9U0+0voF0yR1juoV\n" +
//                "lUN5sQyAwIzgkZ9zW5+0PoWj6J/wjn9k6VY2HnfafM+yW6Rb8eVjO0DOMnr6mgDf+HGiad8W/D1x\n" +
//                "r/ji3/tXU7e7ayin3tBthVEcLtiKqfmkc5Izz14FewaJomneHNHg0nSbf7PYwbvLi3s+3cxY8sST\n" +
//                "ySeTXl/7OP8AyTzUP+wrJ/6Kir2CgDh7/wCEHgTU9Rub+80LzLq6leaZ/tc43OxJY4D4GST0rsL+\n" +
//                "xt9T065sLyPzLW6ieGZNxG5GBDDI5GQT0qxXxB/wnfjD/oa9c/8ABjN/8VQB7f8AFL4W+DfDnw41\n" +
//                "bVtJ0b7PfQeT5cv2qZ9u6ZFPDOQeCRyK84+CnhbRvF3jK8sNcs/tdrHp7zKnmvHhxJGAcoQejH86\n" +
//                "sfC3XdY8TfEfSdI1/Vb7VdMuPO86yv7h54ZdsLsu5HJU4ZVIyOCAe1fTem+GtB0a4a40vRNNsZ2Q\n" +
//                "o0lrapExXIOCVAOMgHHsKAPnT46eCfDvg7+wf7A0/wCx/avtHnfvpJN23y9v32OMbm6etcP4b+In\n" +
//                "irwjp0lhoeq/ZLWSUzMn2eKTLkAE5dSeij8q+x9T0LR9b8r+1tKsb/yc+X9rt0l2ZxnG4HGcDp6C\n" +
//                "s/8A4QTwf/0Kmh/+C6H/AOJoA+YP+F2/EP8A6GH/AMkrf/43R/wu34h/9DD/AOSVv/8AG6r/ABfs\n" +
//                "LPTPilrNnYWkFpax+RshgjEaLmCMnCjgZJJ/GuHoA2PCdjb6n4y0OwvI/MtbrULeGZNxG5GkUMMj\n" +
//                "kZBPSvqf/hSXw8/6F7/yduP/AI5XSQeC/CtrcRXFv4a0aGeJw8ckdhErIwOQQQuQQec1h/F+/vNM\n" +
//                "+Fus3lhdz2l1H5GyaCQxuuZ4wcMORkEj8aANDw38O/CvhHUZL/Q9K+yXUkRhZ/tEsmUJBIw7EdVH\n" +
//                "5V1FfEH/AAnfjD/oa9c/8GM3/wAVR/wnfjD/AKGvXP8AwYzf/FUAfb9FeV/ALVtS1nwLfXGqahd3\n" +
//                "066nIiyXUzSsF8qI4BYk4ySce5r1SgAooooAKKKKACiiuf8AE/jbw74O+y/2/qH2P7Vv8n9zJJu2\n" +
//                "43fcU4xuXr60AeKfH3w1r2s+OrG40vRNSvoF0yNGktbV5VDebKcEqCM4IOPcV6n8ILC80z4W6NZ3\n" +
//                "9pPaXUfn74Z4zG65nkIyp5GQQfxroPDfinRvF2nSX+h3n2u1jlMLP5Tx4cAEjDgHow/OsfW/il4N\n" +
//                "8OaxPpOraz9nvoNvmRfZZn27lDDlUIPBB4NAHyh47/5KH4l/7Ct1/wCjWrc8F+C/FVr468PXFx4a\n" +
//                "1mGCLU7Z5JJLCVVRRKpJJK4AA5zXN+LL631Pxlrl/ZyeZa3WoXE0L7SNyNIxU4PIyCOtfb9/fW+m\n" +
//                "adc395J5draxPNM+0naigljgcnAB6UAcf8X7C81P4W6zZ2FpPd3UnkbIYIzI7YnjJwo5OACfwr5M\n" +
//                "1Lw1r2jW63GqaJqVjAzhFkurV4lLYJwCwAzgE49jX1X/AMLt+Hn/AEMP/klcf/G64/4j63p3xb8P\n" +
//                "W+geB7j+1dTt7tb2WDY0G2FUdC26UKp+aRBgHPPTg0AZ/wCzL/zNP/bp/wC1q+gK8f8AgX4J8ReD\n" +
//                "v7e/t/T/ALH9q+z+T++jk3bfM3fcY4xuXr613HiT4ieFfCOox2Guar9kupIhMqfZ5ZMoSQDlFI6q\n" +
//                "fyoA8A+L/hPxJqfxS1m8sPD+q3drJ5GyaCykkRsQRg4YDBwQR+FfRfguCa18C+Hre4ikhni0y2SS\n" +
//                "ORSrIwiUEEHkEHjFc3/wu34ef9DD/wCSVx/8bruLC+t9T062v7OTzLW6iSaF9pG5GAKnB5GQR1oA\n" +
//                "+RPBfgvxVa+OvD1xceGtZhgi1O2eSSSwlVUUSqSSSuAAOc19B/G3/kkOu/8Abv8A+lEdWLD4v+BN\n" +
//                "T1G2sLPXfMurqVIYU+yTjc7EBRkpgZJHWq/xt/5JDrv/AG7/APpRHQB8mabpOpazcNb6Xp93fTqh\n" +
//                "do7WFpWC5AyQoJxkgZ9xX0H+zxoWsaJ/wkn9raVfWHnfZvL+127xb8ebnG4DOMjp6ivOPgp4p0bw\n" +
//                "j4yvL/XLz7Jayae8Kv5TyZcyRkDCAnop/Kvpfwx428O+MftX9gah9s+y7PO/cyR7d2dv31Gc7W6e\n" +
//                "lAFzUvEug6NcLb6prem2M7IHWO6ukiYrkjIDEHGQRn2NfMnxS0LWPE3xH1bV9A0q+1XTLjyfJvbC\n" +
//                "3eeGXbCittdAVOGVgcHggjtXb/Gv4d+KvF3jKzv9D0r7Xax6ekLP9oijw4kkJGHYHow/OtjwT428\n" +
//                "O/DnwhY+FPFeof2frdh5n2m18mSXZvkaRfnjVlOUdTwT1x1oA+ZJ4JrW4lt7iKSGeJykkcilWRgc\n" +
//                "EEHkEHjFfYfizxZ4b1Twbrmnad4g0q8vrrT7iC3tre9jkkmkaNlVEUElmJIAA5JNeEa78LfGXibx\n" +
//                "Dqev6Ro32nTNTu5b2zn+1Qp5sMjl0bazhhlWBwQCM8gUaF8LfGXhnxDpmv6vo32bTNMu4r28n+1Q\n" +
//                "v5UMbh3barljhVJwASccA0AWPhB4T8SaZ8UtGvL/AMP6raWsfn75p7KSNFzBIBliMDJIH419T1x+\n" +
//                "ifFLwb4j1iDSdJ1n7RfT7vLi+yzJu2qWPLIAOATya7CgArL1LxLoOjXC2+qa3ptjOyB1jurpImK5\n" +
//                "IyAxBxkEZ9jVPxP428O+Dvsv9v6h9j+1b/J/cySbtuN33FOMbl6+teIfEfRNR+LfiG31/wAD2/8A\n" +
//                "aumW9otlLPvWDbMru5XbKVY/LIhyBjnrwaAPoexv7PU7OO8sLuC7tZM7JoJBIjYJBww4OCCPwr4o\n" +
//                "8d/8lD8S/wDYVuv/AEa1fV/wt0TUfDnw40nSdWt/s99B53mRb1fbumdhypIPBB4NeEeLPhB471Px\n" +
//                "lrl/Z6F5lrdahcTQv9rgG5GkYqcF8jII60AcHP4L8VWtvLcXHhrWYYIkLySSWEqqigZJJK4AA5zW\n" +
//                "58IL+z0z4paNeX93BaWsfn75p5BGi5gkAyx4GSQPxr6v8WWNxqfg3XLCzj8y6utPuIYU3AbnaNgo\n" +
//                "yeBkkda+SNb+FvjLw5o8+rato32exg2+ZL9qhfbuYKOFck8kDgUAet/H3xLoOs+BbG30vW9Nvp11\n" +
//                "ON2jtbpJWC+VKMkKScZIGfcV4Jpmhaxrfm/2TpV9f+TjzPslu8uzOcZ2g4zg9fQ1Y8N+FtZ8XajJ\n" +
//                "YaHZ/a7qOIzMnmpHhAQCcuQOrD86+h/gX4J8ReDv7e/t/T/sf2r7P5P76OTdt8zd9xjjG5evrQB4\n" +
//                "B/wgnjD/AKFTXP8AwXTf/E0f8IJ4w/6FTXP/AAXTf/E19v0UAfAk8E1rcS29xFJDPE5SSORSrIwO\n" +
//                "CCDyCDxitifwX4qtbeW4uPDWswwRIXkkksJVVFAySSVwABzmu88WfCDx3qfjLXL+z0LzLW61C4mh\n" +
//                "f7XANyNIxU4L5GQR1r6P8WWNxqfg3XLCzj8y6utPuIYU3AbnaNgoyeBkkdaAPhivYP2cf+Sh6h/2\n" +
//                "CpP/AEbFXH638LfGXhzR59W1bRvs9jBt8yX7VC+3cwUcK5J5IHArsP2cf+Sh6h/2CpP/AEbFQBv/\n" +
//                "ALTX/Mrf9vf/ALRrxTTfDWvazbtcaXompX0CuUaS1tXlUNgHBKgjOCDj3FfRfx08E+IvGP8AYP8A\n" +
//                "YGn/AGz7L9o8799HHt3eXt++wzna3T0rY+CnhbWfCPg28sNcs/sl1JqDzKnmpJlDHGAcoSOqn8qA\n" +
//                "ND4QWF5pnwt0azv7Se0uo/P3wzxmN1zPIRlTyMgg/jXyx47/AOSh+Jf+wrdf+jWr7fr4g8d/8lD8\n" +
//                "S/8AYVuv/RrUAHgT/kofhr/sK2v/AKNWvte+v7PTLOS8v7uC0tY8b5p5BGi5IAyx4GSQPxr4g8J3\n" +
//                "1vpnjLQ7+8k8u1tdQt5pn2k7UWRSxwOTgA9K+h/G3jbw78RvCF94U8Kah/aGt3/l/ZrXyZIt+yRZ\n" +
//                "G+eRVUYRGPJHTHWgCv8AGu/s/GPg2z07wvdwa5fR6gk722mSC5kWMRyKXKx5IUFlGemWHrWP8C/+\n" +
//                "KK/t7/hK/wDiQ/a/s/2b+1f9F87Z5m7Z5mN2Ny5x03D1qx8FPh34q8I+Mry/1zSvslrJp7wq/wBo\n" +
//                "iky5kjIGEYnop/Ktj46eCfEXjH+wf7A0/wC2fZftHnfvo49u7y9v32Gc7W6elAHqmm6tpus27XGl\n" +
//                "6haX0CuUaS1mWVQ2AcEqSM4IOPcVcrzf4KeFtZ8I+Dbyw1yz+yXUmoPMqeakmUMcYByhI6qfyr0i\n" +
//                "gAooooAKKKKACvL/AIwfDjWPiB/Y39k3NjD9h8/zPtbuud/l4xtVv7h647V6hRQBwfwm8Fal4D8K\n" +
//                "3Wl6pPaTTy3r3CtauzKFKIuDuVTnKHt6VwfxE+CniTxd471LXLC90qO1uvK2JPLIHG2JEOQIyOqn\n" +
//                "vXvFeP8Ajb46f8Id4vvtA/4Rz7Z9l8v9/wDbvL3bo1f7vlnGN2OvagD5s1bTZtG1m+0u4aNp7K4k\n" +
//                "t5GjJKlkYqSMgHGR6Cvou/8AjX4b8Y6dc+F9OstVivtZifT7eS4ijWNZJgY1LkSEhQWGSATjsax/\n" +
//                "+FF/8Jr/AMVX/wAJH9i/tv8A4mX2X7D5nk+d+82b/MG7G7GcDOM4FH/Ci/8AhCv+Kr/4SP7b/Yn/\n" +
//                "ABMvsv2Hy/O8n95s3+YduduM4OM5waAMD/hnHxh/0EtD/wC/83/xqu7+E3wm17wH4qutU1S702aC\n" +
//                "Wye3VbWR2YMXRsncijGEPf0rD/4aa/6lH/ypf/aq7D4cfGD/AIWB4huNJ/sL7B5No1z5v2vzc4dF\n" +
//                "242L/fznPagDoPHXxH0f4f8A2D+1ra+m+3eZ5f2REbGzbnO5l/vjpnvXzZ8WfGum+PPFVrqmlwXc\n" +
//                "MEVkluy3SKrFg7tkbWYYw47+teh/tNf8yt/29/8AtGvAKAPSPC3wU8SeLvDlprlhe6VHa3W/Yk8s\n" +
//                "gcbXZDkCMjqp719R+GtNm0bwrpGl3DRtPZWUNvI0ZJUsiBSRkA4yPQV86eCfjp/wh3hCx0D/AIRz\n" +
//                "7Z9l8z9/9u8vdukZ/u+WcY3Y69q3/wDhpr/qUf8Aypf/AGqgDIsPgp4k8HajbeKNRvdKlsdGlTUL\n" +
//                "iO3lkaRo4SJGCAxgFiFOASBnuK6fW/iPo/xb0efwPoFtfW2p6nt8mW/REhXy2ErbijMw+WNgMKeS\n" +
//                "OnWsDXf2h/7b8PanpP8Awi3k/brSW283+0N2zehXdjyxnGc4yK4/4Jf8le0L/t4/9J5KAI/Gvwm1\n" +
//                "7wHo0Oqapd6bNBLcLbqtrI7MGKs2TuRRjCHv6VqfB/4j6P8AD/8Atn+1ra+m+3eR5f2REbGzzM53\n" +
//                "Mv8AfHTPevT/ANo7/knmn/8AYVj/APRUteQfDL4Zf8LG/tT/AIm/9n/YPK/5dvN379/+2uMbPfrQ\n" +
//                "B9N+CvGum+PNGm1TS4LuGCK4a3ZbpFViwVWyNrMMYcd/WvmT42/8le13/t3/APSeOu//AOEn/wCG\n" +
//                "fv8AilPsf9vfa/8AiZfavN+y7N/7vZsw+ceVnOf4sY458g8beJ/+Ex8X32v/AGP7H9q8v9x5vmbd\n" +
//                "sap97Aznbnp3oA9r8NfH3wro3hXSNLuNP1lp7Kyht5GjhiKlkQKSMyA4yPQVcv8A41+G/GOnXPhf\n" +
//                "TrLVYr7WYn0+3kuIo1jWSYGNS5EhIUFhkgE47GuY0L9nj+2/D2mat/wlPk/brSK58r+z92zegbbn\n" +
//                "zBnGcZwKv/8ACi/+EK/4qv8A4SP7b/Yn/Ey+y/YfL87yf3mzf5h2524zg4znBoAoaJ8ONY+EmsQe\n" +
//                "ONfubG50zTN3nRWDu8zeYpiXaHVVPzSKTlhwD16V6n4K+LOg+PNZm0vS7TUoZ4rdrhmuo0VSoZVw\n" +
//                "Nrsc5cdvWvO/+Fm/8Lj/AOKC/sj+yP7V/wCX77T9o8ryv33+r2Juz5e37wxnPOMV2Hw4+D//AAr/\n" +
//                "AMQ3Grf279v860a28r7J5WMujbs72/uYxjvQAfGD4cax8QP7G/sm5sYfsPn+Z9rd1zv8vGNqt/cP\n" +
//                "XHatT4TeCtS8B+FbrS9UntJp5b17hWtXZlClEXB3KpzlD29Kj+JvxN/4Vz/Zf/Eo/tD7f5v/AC8+\n" +
//                "Vs2bP9hs53+3StD4ceOv+FgeHrjVv7O+weTdtbeV5/m5wiNuztX+/jGO1AGP4p+Nfhvwj4ju9Dv7\n" +
//                "LVZLq12b3gijKHciuMEyA9GHasf/AIaO8H/9A3XP+/EP/wAdryD42/8AJXtd/wC3f/0njrsNC/Z4\n" +
//                "/tvw9pmrf8JT5P260iufK/s/ds3oG258wZxnGcCgD6Prz/42/wDJIdd/7d//AEojrz//AIaa/wCp\n" +
//                "R/8AKl/9qo/4Wb/wuP8A4oL+yP7I/tX/AJfvtP2jyvK/ff6vYm7Pl7fvDGc84xQB558JvGum+A/F\n" +
//                "V1qmqQXc0Etk9uq2qKzBi6Nk7mUYwh7+lfSfgX4j6P8AED7f/ZNtfQ/YfL8z7WiLnfuxjazf3D1x\n" +
//                "2rwD4j/B/wD4V/4et9W/t37f512tt5X2TysZR23Z3t/cxjHes/4ZfE3/AIVz/an/ABKP7Q+3+V/y\n" +
//                "8+Vs2b/9hs53+3SgD6/rzfxT8a/DfhHxHd6Hf2WqyXVrs3vBFGUO5FcYJkB6MO1cP/w01/1KP/lS\n" +
//                "/wDtVH/Csv8Ahcf/ABXv9r/2R/av/Lj9m+0eV5X7n/Wb03Z8vd90YzjnGaAPdNJ1KHWdGsdUt1kW\n" +
//                "C9t47iNZAAwV1DAHBIzg+pq5WfoWmf2J4e0zSfO877DaRW3m7du/YgXdjJxnGcZNeP6F+0P/AG34\n" +
//                "h0zSf+EW8n7ddxW3m/2hu2b3C7seWM4znGRQB2Hxt/5JDrv/AG7/APpRHXkH7OP/ACUPUP8AsFSf\n" +
//                "+jYq9/8AG3hj/hMfCF9oH2z7H9q8v9/5Xmbdsiv93Iznbjr3rj/hx8H/APhX/iG41b+3ft/nWjW3\n" +
//                "lfZPKxl0bdne39zGMd6AOg8dfEfR/h/9g/ta2vpvt3meX9kRGxs25zuZf746Z71x/wDw0d4P/wCg\n" +
//                "brn/AH4h/wDjtc/+01/zK3/b3/7RrkPhx8H/APhYHh641b+3fsHk3bW3lfZPNzhEbdnev9/GMdqA\n" +
//                "PT/+GjvB/wD0Ddc/78Q//Ha+dPEupQ6z4q1fVLdZFgvb2a4jWQAMFdywBwSM4Pqa9r/4Zl/6m7/y\n" +
//                "m/8A22vENd0z+xPEOp6T53nfYbuW283bt37HK7sZOM4zjJoA9Q/4Zx8Yf9BLQ/8Av/N/8arQ0T4c\n" +
//                "ax8JNYg8ca/c2NzpmmbvOisHd5m8xTEu0OqqfmkUnLDgHr0q/wD8NNf9Sj/5Uv8A7VR/ws3/AIXH\n" +
//                "/wAUF/ZH9kf2r/y/faftHleV++/1exN2fL2/eGM55xigDoP+GjvB/wD0Ddc/78Q//HaP+GjvB/8A\n" +
//                "0Ddc/wC/EP8A8drzD4j/AAf/AOFf+HrfVv7d+3+ddrbeV9k8rGUdt2d7f3MYx3ry+gD7b8FeNdN8\n" +
//                "eaNNqmlwXcMEVw1uy3SKrFgqtkbWYYw47+tdJXj/AOzj/wAk81D/ALCsn/oqKvYKACiiigAooooA\n" +
//                "K8v+MHxH1j4f/wBjf2TbWM327z/M+1o7Y2eXjG1l/vnrntXqFfP/AO01/wAyt/29/wDtGgDA/wCG\n" +
//                "jvGH/QN0P/vxN/8AHa838U+JLzxd4ju9cv44I7q62b0gUhBtRUGAST0Ud69g+Cnw78K+LvBt5f65\n" +
//                "pX2u6j1B4Vf7RLHhBHGQMIwHVj+deb/FLRNO8OfEfVtJ0m3+z2MHk+XFvZ9u6FGPLEk8knk0AfV/\n" +
//                "gT/knnhr/sFWv/opa8IsPjX4k8Y6jbeF9RstKisdZlTT7iS3ikWRY5iI2KEyEBgGOCQRnsa4+w+L\n" +
//                "/jvTNOtrCz13y7W1iSGFPskB2ooAUZKZOAB1rj7C+uNM1G2v7OTy7q1lSaF9oO11IKnB4OCB1oA+\n" +
//                "l/8AhnHwf/0Etc/7/wAP/wAarH8SeG7P4EadH4o8LyT3l9dSjT3j1NhJGI2BkJAjCHdmJec4wTx6\n" +
//                "ecf8Lt+If/Qw/wDklb//ABuuw+HGt6j8W/ENxoHji4/tXTLe0a9ig2LBtmV0QNuiCsflkcYJxz04\n" +
//                "FAHn/jr4j6x8QPsH9rW1jD9h8zy/siOud+3OdzN/cHTHeu0+E3wm0Hx54VutU1S71KGeK9e3VbWR\n" +
//                "FUqERsncjHOXPf0r1v8A4Ul8PP8AoXv/ACduP/jldR4b8LaN4R06Sw0Oz+yWskpmZPNeTLkAE5ck\n" +
//                "9FH5UAfIHxE8N2fhHx3qWh2Ek8lra+VsedgXO6JHOSAB1Y9q9j8NfALwrrPhXSNUuNQ1lZ72yhuJ\n" +
//                "FjmiChnQMQMxk4yfU15p8bf+Sva7/wBu/wD6Tx19P+BP+SeeGv8AsFWv/opaAPK/EvwC8K6N4V1f\n" +
//                "VLfUNZaeyspriNZJoipZELAHEYOMj1FeGeFvEl54R8R2muWEcEl1a79iTqSh3IyHIBB6Me9fY/jv\n" +
//                "/knniX/sFXX/AKKavlD4W6Jp3iP4j6TpOrW/2ixn87zIt7Ju2wuw5UgjkA8GgC541+LOvePNGh0v\n" +
//                "VLTTYYIrhbhWtY3ViwVlwdzsMYc9vSqfgX4j6x8P/t/9k21jN9u8vzPtaO2Nm7GNrL/fPXPavSPj\n" +
//                "X8O/CvhHwbZ3+h6V9kupNQSFn+0SyZQxyEjDsR1UflXg9AHSeNfGupePNZh1TVILSGeK3W3VbVGV\n" +
//                "SoZmydzMc5c9/Subr3j4KfDvwr4u8G3l/rmlfa7qPUHhV/tEseEEcZAwjAdWP516P/wpL4ef9C9/\n" +
//                "5O3H/wAcoA6DwJ/yTzw1/wBgq1/9FLXzpq3x98Vazo19pdxp+jLBe28lvI0cMoYK6lSRmQjOD6Go\n" +
//                "9d+KXjLwz4h1PQNI1n7NpmmXctlZwfZYX8qGNyiLuZCxwqgZJJOOSa9v/wCFJfDz/oXv/J24/wDj\n" +
//                "lAHgHwS/5K9oX/bx/wCk8lfX9eP+NvBPh34c+EL7xX4U0/8As/W7Dy/s1150kuzfIsbfJIzKco7D\n" +
//                "kHrnrXkH/C7fiH/0MP8A5JW//wAboA+j/HXw40f4gfYP7Wub6H7D5nl/ZHRc79uc7lb+4OmO9XPB\n" +
//                "XgrTfAejTaXpc93NBLcNcM106swYqq4G1VGMIO3rXzJ/wu34h/8AQw/+SVv/APG6P+F2/EP/AKGH\n" +
//                "/wAkrf8A+N0AHxt/5K9rv/bv/wCk8dfT/gT/AJJ54a/7BVr/AOilrz/wT4J8O/EbwhY+K/Fen/2h\n" +
//                "rd/5n2m686SLfskaNfkjZVGERRwB0z1r1iwsbfTNOtrCzj8u1tYkhhTcTtRQAoyeTgAdaAPgivQP\n" +
//                "gl/yV7Qv+3j/ANJ5K8/rQ0TW9R8OaxBq2k3H2e+g3eXLsV9u5Sp4YEHgkcigD7L8a+CtN8eaNDpe\n" +
//                "qT3cMEVwtwrWrqrFgrLg7lYYw57elfOnxg+HGj/D/wDsb+ybm+m+3ef5n2t0bGzy8Y2qv989c9q7\n" +
//                "f4KfETxV4u8ZXlhrmq/a7WPT3mVPs8UeHEkYByig9GP516x4n8E+HfGP2X+39P8Atn2Xf5P76SPb\n" +
//                "uxu+4wznavX0oA+IK+v/AIJf8kh0L/t4/wDSiSvCPjX4W0bwj4ys7DQ7P7JayaekzJ5ryZcySAnL\n" +
//                "knoo/Kvd/gl/ySHQv+3j/wBKJKAPNPEvx98VaN4q1fS7fT9GaCyvZreNpIZSxVHKgnEgGcD0FeV+\n" +
//                "BP8Akofhr/sK2v8A6NWjx3/yUPxL/wBhW6/9GtX0frvwt8G+GfD2p6/pGjfZtT0y0lvbOf7VM/lT\n" +
//                "RoXRtrOVOGUHBBBxyDQB1HxE8SXnhHwJqWuWEcEl1a+VsSdSUO6VEOQCD0Y968I/4aO8Yf8AQN0P\n" +
//                "/vxN/wDHaPBPjbxF8RvF9j4U8V6h/aGiX/mfabXyY4t+yNpF+eNVYYdFPBHTHSvX/wDhSXw8/wCh\n" +
//                "e/8AJ24/+OUAfOHjr4j6x8QPsH9rW1jD9h8zy/siOud+3OdzN/cHTHevb/2cf+Seah/2FZP/AEVF\n" +
//                "XAfHTwT4d8Hf2D/YGn/Y/tX2jzv30km7b5e377HGNzdPWuH8N/ETxV4R06Sw0PVfslrJKZmT7PFJ\n" +
//                "lyACcupPRR+VAHr/AMRPjX4k8I+O9S0OwstKktbXytjzxSFzuiRzkiQDqx7VoWHwU8N+MdOtvFGo\n" +
//                "3uqxX2sxJqFxHbyxrGskwEjBAYyQoLHAJJx3NWPBPgnw78RvCFj4r8V6f/aGt3/mfabrzpIt+yRo\n" +
//                "1+SNlUYRFHAHTPWvMNd+KXjLwz4h1PQNI1n7NpmmXctlZwfZYX8qGNyiLuZCxwqgZJJOOSaAOD8N\n" +
//                "abDrPirSNLuGkWC9vYbeRoyAwV3CkjIIzg+hr6j8LfBTw34R8R2muWF7qsl1a79iTyxlDuRkOQIw\n" +
//                "ejHvWhYfCDwJpmo21/Z6F5d1aypNC/2uc7XUgqcF8HBA61Y+KWt6j4c+HGratpNx9nvoPJ8uXYr7\n" +
//                "d0yKeGBB4JHIoAueNfBWm+PNGh0vVJ7uGCK4W4VrV1ViwVlwdysMYc9vSuD/AOGcfB//AEEtc/7/\n" +
//                "AMP/AMarH+CnxE8VeLvGV5Ya5qv2u1j095lT7PFHhxJGAcooPRj+de8UAc34K8Fab4D0abS9Lnu5\n" +
//                "oJbhrhmunVmDFVXA2qoxhB29a6SiigAooooAKKKKACvn/wDaa/5lb/t7/wDaNfQFZ+p67o+ieV/a\n" +
//                "2q2Nh52fL+13CRb8YzjcRnGR09RQB5f+zj/yTzUP+wrJ/wCioq9IvvCfhvU7yS8v/D+lXd1JjfNP\n" +
//                "ZRyO2AAMsRk4AA/Cq/8Awnfg/wD6GvQ//BjD/wDFV8sfF+/s9T+KWs3lhdwXdrJ5GyaCQSI2IIwc\n" +
//                "MODggj8KAMPxpBDa+OvENvbxRwwRancpHHGoVUUSsAABwABxijwXBDdeOvD1vcRRzQS6nbJJHIoZ\n" +
//                "XUyqCCDwQRxivsPwJ/yTzw1/2CrX/wBFLXyx4T8J+JNL8ZaHqOo+H9Vs7G11C3nuLm4spI44Y1kV\n" +
//                "md2IAVQASSeABQB9T/8ACCeD/wDoVND/APBdD/8AE1c03w1oOjXDXGl6JptjOyFGktbVImK5BwSo\n" +
//                "BxkA49hXB/FLXdH8TfDjVtI0DVbHVdTuPJ8mysLhJ5pdsyM21EJY4VWJwOACe1ecfBSwvPB3jK81\n" +
//                "HxRaT6HYyae8CXOpxm2jaQyRsEDSYBYhWOOuFPpQB9L186fH3xLr2jeOrG30vW9SsYG0yN2jtbp4\n" +
//                "lLebKMkKQM4AGfYVH+0Pruj63/wjn9k6rY3/AJP2nzPslwkuzPlYztJxnB6+hrw+gCxfX95qd5Je\n" +
//                "X93Pd3UmN808hkdsAAZY8nAAH4V9r+BP+SeeGv8AsFWv/opa5/4Jf8kh0L/t4/8ASiSvmDx3/wAl\n" +
//                "D8S/9hW6/wDRrUAfX/jv/knniX/sFXX/AKKaviixv7zTLyO8sLue0uo87JoJDG65BBww5GQSPxr7\n" +
//                "X8d/8k88S/8AYKuv/RTV8QUAe0fBS/vPGPjK807xRdz65Yx6e86W2pyG5jWQSRqHCyZAYBmGeuGP\n" +
//                "rVj9ofQtH0T/AIRz+ydKsbDzvtPmfZLdIt+PKxnaBnGT19TWf+zj/wAlD1D/ALBUn/o2Kuv/AGh9\n" +
//                "C1jW/wDhHP7J0q+v/J+0+Z9kt3l2Z8rGdoOM4PX0NAHgmm+Jde0a3a30vW9SsYGcu0drdPEpbAGS\n" +
//                "FIGcADPsK+s/hBf3mp/C3Rry/u57u6k8/fNPIZHbE8gGWPJwAB+Fcf8ABS/s/B3g2807xRdwaHfS\n" +
//                "ag86W2pyC2kaMxxqHCyYJUlWGemVPpXpH/Cd+D/+hr0P/wAGMP8A8VQB8geO/wDkofiX/sK3X/o1\n" +
//                "qP8AhO/GH/Q165/4MZv/AIqvr/8A4Tvwf/0Neh/+DGH/AOKr488Fzw2vjrw9cXEscMEWp2zySSMF\n" +
//                "VFEqkkk8AAc5oAjvvFniTU7OSzv/ABBqt3ayY3wz3skiNggjKk4OCAfwrHr7f/4Tvwf/ANDXof8A\n" +
//                "4MYf/iquab4l0HWbhrfS9b02+nVC7R2t0krBcgZIUk4yQM+4oA+FKK9//aa/5lb/ALe//aNXPgF4\n" +
//                "l0HRvAt9b6prem2M7anI6x3V0kTFfKiGQGIOMgjPsaAPDLHxZ4k0yzjs7DxBqtpax52QwXskaLkk\n" +
//                "nCg4GSSfxr7L8FzzXXgXw9cXEsk08umWzySSMWZ2MSkkk8kk85r5s+KWhax4m+I+ravoGlX2q6Zc\n" +
//                "eT5N7YW7zwy7YUVtroCpwysDg8EEdq8zngmtbiW3uIpIZ4nKSRyKVZGBwQQeQQeMUAbHguCG68de\n" +
//                "Hre4ijmgl1O2SSORQyuplUEEHggjjFfYf/CCeD/+hU0P/wAF0P8A8TXyB/wgnjD/AKFTXP8AwXTf\n" +
//                "/E1XvvCfiTTLOS8v/D+q2lrHjfNPZSRouSAMsRgZJA/GgD3/AONdhZ+DvBtnqPhe0g0O+k1BIHud\n" +
//                "MjFtI0ZjkYoWjwSpKqcdMqPSvCP+E78Yf9DXrn/gxm/+KrL03SdS1m4a30vT7u+nVC7R2sLSsFyB\n" +
//                "khQTjJAz7ipNT0LWNE8r+1tKvrDzs+X9rt3i34xnG4DOMjp6igCPUtW1LWbhbjVNQu76dUCLJdTN\n" +
//                "KwXJOAWJOMknHua+s/gl/wAkh0L/ALeP/SiSvlTTfDWvazbtcaXompX0CuUaS1tXlUNgHBKgjOCD\n" +
//                "j3FfWfwgsLzTPhbo1nf2k9pdR+fvhnjMbrmeQjKnkZBB/GgD5Y8d/wDJQ/Ev/YVuv/RrVseE/Fni\n" +
//                "TVPGWh6dqPiDVbyxutQt4Li2uL2SSOaNpFVkdSSGUgkEHgg1j+O/+Sh+Jf8AsK3X/o1qP+EE8Yf9\n" +
//                "Cprn/gum/wDiaAPo/wCKWhaP4Z+HGravoGlWOlanb+T5N7YW6QTRbpkVtroAwyrMDg8gkd64T4Be\n" +
//                "Jde1nx1fW+qa3qV9AumSOsd1dPKobzYhkBiRnBIz7mub+Fuhax4Z+I+k6vr+lX2laZb+d517f27w\n" +
//                "QxboXVdzuAoyzKBk8kgd6+j/APhO/B//AENeh/8Agxh/+KoA0NT0LR9b8r+1tKsb/wAnPl/a7dJd\n" +
//                "mcZxuBxnA6egr5k+Puk6bo3jqxt9L0+0sYG0yN2jtYViUt5soyQoAzgAZ9hXV/HT/itf7B/4RT/i\n" +
//                "ffZPtH2n+yv9K8nf5e3f5edudrYz12n0ryD/AIQTxh/0Kmuf+C6b/wCJoAr2PizxJplnHZ2HiDVb\n" +
//                "S1jzshgvZI0XJJOFBwMkk/jX1f4T8J+G9U8G6HqOo+H9KvL660+3nuLm4so5JJpGjVmd2IJZiSSS\n" +
//                "eSTR8ILC80z4W6NZ39pPaXUfn74Z4zG65nkIyp5GQQfxr508aeC/FV1468Q3Fv4a1maCXU7l45I7\n" +
//                "CVldTKxBBC4II5zQB9h15/8AG3/kkOu/9u//AKUR18weBP8Akofhr/sK2v8A6NWvt+gD4M03VtS0\n" +
//                "a4a40vULuxnZCjSWszRMVyDglSDjIBx7CvoP9njXdY1v/hJP7W1W+v8Ayfs3l/a7h5dmfNzjcTjO\n" +
//                "B09BXsmpatpujW63GqahaWMDOEWS6mWJS2CcAsQM4BOPY1Hpmu6Prfm/2Tqtjf8Ak48z7JcJLszn\n" +
//                "GdpOM4PX0NAGhRRRQAUUUUAFFFFABXj/AMdPBPiLxj/YP9gaf9s+y/aPO/fRx7d3l7fvsM52t09K\n" +
//                "9gooA+GPEnhbWfCOox2GuWf2S6kiEyp5qSZQkgHKEjqp/KtjRPhb4y8R6PBq2k6N9osZ93ly/aoU\n" +
//                "3bWKnhnBHII5Fdh+0d/yUPT/APsFR/8Ao2Wtj4d/Gvw34R8Cabod/ZarJdWvm73gijKHdK7jBMgP\n" +
//                "Rh2oA9v8J2Nxpng3Q7C8j8u6tdPt4Zk3A7XWNQwyODgg9Kr+O/8AknniX/sFXX/opq8//wCGjvB/\n" +
//                "/QN1z/vxD/8AHa9M8S6bNrPhXV9Lt2jWe9spreNpCQoZ0KgnAJxk+hoA+RPhbreneHPiPpOratcf\n" +
//                "Z7GDzvMl2M+3dC6jhQSeSBwK9f8AiPrenfFvw9b6B4HuP7V1O3u1vZYNjQbYVR0LbpQqn5pEGAc8\n" +
//                "9ODXIf8ADOPjD/oJaH/3/m/+NV3fwm+E2veA/FV1qmqXemzQS2T26rayOzBi6Nk7kUYwh7+lAHkn\n" +
//                "/CkviH/0L3/k7b//AByj/hSXxD/6F7/ydt//AI5X0f46+I+j/D/7B/a1tfTfbvM8v7IiNjZtzncy\n" +
//                "/wB8dM96ueCvGum+PNGm1TS4LuGCK4a3ZbpFViwVWyNrMMYcd/WgDg/BPjbw78OfCFj4U8V6h/Z+\n" +
//                "t2HmfabXyZJdm+RpF+eNWU5R1PBPXHWvnjxZfW+p+Mtcv7OTzLW61C4mhfaRuRpGKnB5GQR1rqPj\n" +
//                "b/yV7Xf+3f8A9J468/oA+3/Hf/JPPEv/AGCrr/0U1fEFfdfiXTZtZ8K6vpdu0az3tlNbxtISFDOh\n" +
//                "UE4BOMn0NfOn/DOPjD/oJaH/AN/5v/jVAGP8FPFOjeEfGV5f65efZLWTT3hV/KeTLmSMgYQE9FP5\n" +
//                "V7v/AMLt+Hn/AEMP/klcf/G6+fPGvwm17wHo0Oqapd6bNBLcLbqtrI7MGKs2TuRRjCHv6VwdAHpH\n" +
//                "xr8U6N4u8ZWd/od59rtY9PSFn8p48OJJCRhwD0YfnXm9d54K+E2vePNGm1TS7vTYYIrhrdlupHVi\n" +
//                "wVWyNqMMYcd/Wuk/4Zx8Yf8AQS0P/v8Azf8AxqgDx+u4v/hB470zTrm/vNC8u1tYnmmf7XAdqKCW\n" +
//                "OA+TgA9K6j/hnHxh/wBBLQ/+/wDN/wDGq6vxL8ffCus+FdX0u30/WVnvbKa3jaSGIKGdCoJxITjJ\n" +
//                "9DQB4Jomiaj4j1iDSdJt/tF9Pu8uLeqbtqljyxAHAJ5Ne7/BT4d+KvCPjK8v9c0r7Jayae8Kv9oi\n" +
//                "ky5kjIGEYnop/KvOPgl/yV7Qv+3j/wBJ5K+v6APn/wDaa/5lb/t7/wDaNeUeG/h34q8XadJf6HpX\n" +
//                "2u1jlMLP9oijw4AJGHYHow/OvV/2mv8AmVv+3v8A9o10H7OP/JPNQ/7Csn/oqKgA8E+NvDvw58IW\n" +
//                "PhTxXqH9n63YeZ9ptfJkl2b5GkX541ZTlHU8E9cda+ePFl9b6n4y1y/s5PMtbrULiaF9pG5GkYqc\n" +
//                "HkZBHWuo+Nv/ACV7Xf8At3/9J468/oA+x7D4v+BNT1G2sLPXfMurqVIYU+yTjc7EBRkpgZJHWq/x\n" +
//                "t/5JDrv/AG7/APpRHXlFh8FPEng7UbbxRqN7pUtjo0qahcR28sjSNHCRIwQGMAsQpwCQM9xXT638\n" +
//                "R9H+Lejz+B9Atr621PU9vky36IkK+WwlbcUZmHyxsBhTyR060AecfBTxTo3hHxleX+uXn2S1k094\n" +
//                "Vfynky5kjIGEBPRT+Vdv8Tf+Lx/2X/wgX/E3/srzftn/AC7+V5uzZ/rtm7Plv0zjHOMivPPGvwm1\n" +
//                "7wHo0Oqapd6bNBLcLbqtrI7MGKs2TuRRjCHv6V6H+zL/AMzT/wBun/tagDuPgp4W1nwj4NvLDXLP\n" +
//                "7JdSag8yp5qSZQxxgHKEjqp/KvSKKKAPljxZ8IPHep+Mtcv7PQvMtbrULiaF/tcA3I0jFTgvkZBH\n" +
//                "Wvb7D4v+BNT1G2sLPXfMurqVIYU+yTjc7EBRkpgZJHWsPVvj74V0bWb7S7jT9ZaeyuJLeRo4YipZ\n" +
//                "GKkjMgOMj0FeeWHwU8SeDtRtvFGo3ulS2OjSpqFxHbyyNI0cJEjBAYwCxCnAJAz3FAHs/wAUtE1H\n" +
//                "xH8ONW0nSbf7RfT+T5cW9U3bZkY8sQBwCeTXyx4k+Hfirwjp0d/rmlfZLWSUQq/2iKTLkEgYRiei\n" +
//                "n8q93/4aO8H/APQN1z/vxD/8drH8SeJLP476dH4X8Lxz2d9ayjUHk1NRHGY1BjIBjLndmVeMYwDz\n" +
//                "6gFf9mX/AJmn/t0/9rV9AV8/+GP+MfvtX/CV/wCm/wBt7Ps39lfvNnk53b/M2Yz5q4xnoenfoP8A\n" +
//                "ho7wf/0Ddc/78Q//AB2gD2Cisfwt4ks/F3hy01ywjnjtbrfsSdQHG12Q5AJHVT3rYoA+UNC+FvjL\n" +
//                "wz4h0zX9X0b7NpmmXcV7eT/aoX8qGNw7ttVyxwqk4AJOOAa9v/4Xb8PP+hh/8krj/wCN1y9/8a/D\n" +
//                "fjHTrnwvp1lqsV9rMT6fbyXEUaxrJMDGpciQkKCwyQCcdjXmHin4KeJPCPhy71y/vdKktbXZvSCW\n" +
//                "QudzqgwDGB1Yd6AOw+NfxE8K+LvBtnYaHqv2u6j1BJmT7PLHhBHICcuoHVh+dT/sy/8AM0/9un/t\n" +
//                "avAK9/8A2Zf+Zp/7dP8A2tQB9AUUUUAFFFFABRRRQAV5/wDE34m/8K5/sv8A4lH9ofb/ADf+Xnyt\n" +
//                "mzZ/sNnO/wBulegVx/jr4caP8QPsH9rXN9D9h8zy/sjoud+3Odyt/cHTHegD5g+I/jr/AIWB4ht9\n" +
//                "W/s77B5Nott5Xn+bnDu27O1f7+MY7Vx9fT//AAzj4P8A+glrn/f+H/41R/wzj4P/AOglrn/f+H/4\n" +
//                "1QByGhfs8f234e0zVv8AhKfJ+3WkVz5X9n7tm9A23PmDOM4zgV9H1T0nTYdG0ax0u3aRoLK3jt42\n" +
//                "kILFUUKCcADOB6CrlAHP+NvE/wDwh3hC+1/7H9s+y+X+483y926RU+9g4xuz07V4/wD8NNf9Sj/5\n" +
//                "Uv8A7VXtHinw3Z+LvDl3od/JPHa3Wze8DAONrq4wSCOqjtXm/wDwzj4P/wCglrn/AH/h/wDjVAHk\n" +
//                "HxN+Jv8Awsb+y/8AiUf2f9g83/l583fv2f7C4xs9+tev/s4/8k81D/sKyf8AoqKvMPjB8ONH+H/9\n" +
//                "jf2Tc30327z/ADPtbo2Nnl4xtVf75657Vl+Cvizr3gPRptL0u002aCW4a4ZrqN2YMVVcDa6jGEHb\n" +
//                "1oA9j8bfAv8A4THxffa//wAJH9j+1eX+4+w+Zt2xqn3vMGc7c9O9fOGu6Z/YniHU9J87zvsN3Lbe\n" +
//                "bt279jld2MnGcZxk16h/w0d4w/6Buh/9+Jv/AI7Xb2HwU8N+MdOtvFGo3uqxX2sxJqFxHbyxrGsk\n" +
//                "wEjBAYyQoLHAJJx3NAGP/wANNf8AUo/+VL/7VR/w01/1KP8A5Uv/ALVXQf8ADOPg/wD6CWuf9/4f\n" +
//                "/jVH/DOPg/8A6CWuf9/4f/jVAHmHxH+MH/CwPD1vpP8AYX2Dybtbnzftfm5wjrtxsX+/nOe1eX17\n" +
//                "J8WfhNoPgPwra6ppd3qU08t6luy3UiMoUo7ZG1FOcoO/rXjdAHqHw4+MH/Cv/D1xpP8AYX2/zrtr\n" +
//                "nzftflYyiLtxsb+5nOe9df8A8NNf9Sj/AOVL/wC1VifCb4TaD488K3Wqapd6lDPFevbqtrIiqVCI\n" +
//                "2TuRjnLnv6VwfxE8N2fhHx3qWh2Ek8lra+VsedgXO6JHOSAB1Y9qAPV/+Gmv+pR/8qX/ANqrwCvo\n" +
//                "vw18AvCus+FdI1S41DWVnvbKG4kWOaIKGdAxAzGTjJ9TXzpQB0HgnxP/AMId4vsdf+x/bPsvmfuP\n" +
//                "N8vdujZPvYOMbs9O1ev/APDTX/Uo/wDlS/8AtVeAV3nwm8Fab488VXWl6pPdwwRWT3CtauqsWDou\n" +
//                "DuVhjDnt6UASfE34m/8ACxv7L/4lH9n/AGDzf+Xnzd+/Z/sLjGz361ofDj4wf8K/8PXGk/2F9v8A\n" +
//                "Ou2ufN+1+VjKIu3Gxv7mc5716f8A8M4+D/8AoJa5/wB/4f8A41R/wzj4P/6CWuf9/wCH/wCNUAeA\n" +
//                "eNvE/wDwmPi++1/7H9j+1eX+483zNu2NU+9gZztz071z9dR8RPDdn4R8d6lodhJPJa2vlbHnYFzu\n" +
//                "iRzkgAdWPavY/DXwC8K6z4V0jVLjUNZWe9sobiRY5ogoZ0DEDMZOMn1NAFP/AIXp/wAJr/xSn/CO\n" +
//                "fYv7b/4lv2r7d5nk+d+737PLG7G7OMjOMZFdB4J+Bf8Awh3i+x1//hI/tn2XzP3H2Hy926Nk+95h\n" +
//                "xjdnp2rwDwJ/yUPw1/2FbX/0atfb9AHH/EfwL/wsDw9b6T/aP2DybtbnzfI83OEdduNy/wB/Oc9q\n" +
//                "8v8A+Tc/+ph/t3/t08jyP+/m7d53tjb3zx9AV8//ALTX/Mrf9vf/ALRoA9Q+HHjr/hYHh641b+zv\n" +
//                "sHk3bW3lef5ucIjbs7V/v4xjtXH+Nvjp/wAId4vvtA/4Rz7Z9l8v9/8AbvL3bo1f7vlnGN2OvavH\n" +
//                "PBXxZ17wHo02l6XaabNBLcNcM11G7MGKquBtdRjCDt61zfinxJeeLvEd3rl/HBHdXWzekCkINqKg\n" +
//                "wCSeijvQBX13U/7b8Q6nq3k+T9uu5bnyt27ZvcttzgZxnGcCvYNd/aH/ALb8PanpP/CLeT9utJbb\n" +
//                "zf7Q3bN6Fd2PLGcZzjIrw+vp/wD4Zx8H/wDQS1z/AL/w/wDxqgDwDwT4Y/4THxfY6B9s+x/avM/f\n" +
//                "+V5m3bGz/dyM524696+j/hx8H/8AhX/iG41b+3ft/nWjW3lfZPKxl0bdne39zGMd6seFvgp4b8I+\n" +
//                "I7TXLC91WS6td+xJ5Yyh3IyHIEYPRj3q58WfGupeA/CtrqmlwWk08t6luy3SMyhSjtkbWU5yg7+t\n" +
//                "AHnf7TX/ADK3/b3/AO0a8ArsPHXxH1j4gfYP7WtrGH7D5nl/ZEdc79uc7mb+4OmO9dp8JvhNoPjz\n" +
//                "wrdapql3qUM8V69uq2siKpUIjZO5GOcue/pQBH4J+On/AAh3hCx0D/hHPtn2XzP3/wBu8vdukZ/u\n" +
//                "+WcY3Y69q3/+Gmv+pR/8qX/2qug/4Zx8H/8AQS1z/v8Aw/8Axqj/AIZx8H/9BLXP+/8AD/8AGqAP\n" +
//                "APAn/JQ/DX/YVtf/AEatfT/xt/5JDrv/AG7/APpRHXyZpOpTaNrNjqlusbT2VxHcRrICVLIwYA4I\n" +
//                "OMj1FeyaJ8R9Y+LesQeB9ftrG20zU93nS2COky+WplXaXZlHzRqDlTwT060Aef8Aw48C/wDCwPEN\n" +
//                "xpP9o/YPJtGufN8jzc4dF243L/fznPavT/8Ak3P/AKmH+3f+3TyPI/7+bt3ne2NvfPHongr4TaD4\n" +
//                "D1mbVNLu9Smnlt2t2W6kRlCllbI2opzlB39aueOvhxo/xA+wf2tc30P2HzPL+yOi537c53K39wdM\n" +
//                "d6AD4ceOv+FgeHrjVv7O+weTdtbeV5/m5wiNuztX+/jGO1dhXN+CvBWm+A9Gm0vS57uaCW4a4Zrp\n" +
//                "1ZgxVVwNqqMYQdvWukoAKKKKACiiigArx/46eNvEXg7+wf7A1D7H9q+0ed+5jk3bfL2/fU4xubp6\n" +
//                "17BXz/8AtNf8yt/29/8AtGgDgP8AhdvxD/6GH/ySt/8A43R/wu34h/8AQw/+SVv/APG69L+AXhrQ\n" +
//                "dZ8C31xqmiabfTrqciLJdWqSsF8qI4BYE4ySce5r1T/hBPB//QqaH/4Lof8A4mgD5g/4Xb8Q/wDo\n" +
//                "Yf8AySt//jdH/C7fiH/0MP8A5JW//wAbr6f/AOEE8H/9Cpof/guh/wDiaP8AhBPB/wD0Kmh/+C6H\n" +
//                "/wCJoA+YP+F2/EP/AKGH/wAkrf8A+N16P8FPiJ4q8XeMryw1zVftdrHp7zKn2eKPDiSMA5RQejH8\n" +
//                "66D4v+E/DemfC3Wbyw8P6VaXUfkbJoLKON1zPGDhgMjIJH415x+zj/yUPUP+wVJ/6NioA3/2mv8A\n" +
//                "mVv+3v8A9o1B8FPh34V8XeDby/1zSvtd1HqDwq/2iWPCCOMgYRgOrH86n/aa/wCZW/7e/wD2jXQf\n" +
//                "s4/8k81D/sKyf+ioqAOg/wCFJfDz/oXv/J24/wDjldxYWNvpmnW1hZx+Xa2sSQwpuJ2ooAUZPJwA\n" +
//                "OtWKKACuP+KWt6j4c+HGratpNx9nvoPJ8uXYr7d0yKeGBB4JHIr5Q/4Tvxh/0Neuf+DGb/4quw+F\n" +
//                "uu6x4m+I+k6Rr+q32q6Zced51lf3Dzwy7YXZdyOSpwyqRkcEA9qAOg+HGt6j8W/ENxoHji4/tXTL\n" +
//                "e0a9ig2LBtmV0QNuiCsflkcYJxz04FZ/x08E+HfB39g/2Bp/2P7V9o8799JJu2+Xt++xxjc3T1r6\n" +
//                "L03w1oOjXDXGl6JptjOyFGktbVImK5BwSoBxkA49hXif7TX/ADK3/b3/AO0aAPKPDfxE8VeEdOks\n" +
//                "ND1X7JaySmZk+zxSZcgAnLqT0UflXu/gnwT4d+I3hCx8V+K9P/tDW7/zPtN150kW/ZI0a/JGyqMI\n" +
//                "ijgDpnrXzBWxY+LPEmmWcdnYeINVtLWPOyGC9kjRckk4UHAyST+NAHca78UvGXhnxDqegaRrP2bT\n" +
//                "NMu5bKzg+ywv5UMblEXcyFjhVAySScck16v4s+EHgTTPBuuX9noXl3Vrp9xNC/2uc7XWNipwXwcE\n" +
//                "DrXy5PPNdXEtxcSyTTyuXkkkYszsTkkk8kk85rYn8aeKrq3lt7jxLrM0EqFJI5L+VldSMEEFsEEc\n" +
//                "YoAw69g/Zx/5KHqH/YKk/wDRsVeP17B+zj/yUPUP+wVJ/wCjYqAO/wDjp428ReDv7B/sDUPsf2r7\n" +
//                "R537mOTdt8vb99TjG5unrWx8FPFOs+LvBt5f65efa7qPUHhV/KSPCCOMgYQAdWP513Gp6Fo+t+V/\n" +
//                "a2lWN/5OfL+126S7M4zjcDjOB09BUmm6TpujW7W+l6faWMDOXaO1hWJS2AMkKAM4AGfYUAfJnxt/\n" +
//                "5K9rv/bv/wCk8dfT/gT/AJJ54a/7BVr/AOilr5g+Nv8AyV7Xf+3f/wBJ46+n/An/ACTzw1/2CrX/\n" +
//                "ANFLQBj2Hwg8CaZqNtf2eheXdWsqTQv9rnO11IKnBfBwQOtWPilreo+HPhxq2raTcfZ76DyfLl2K\n" +
//                "+3dMinhgQeCRyK7Cq99YWep2clnf2kF3ayY3wzxiRGwQRlTwcEA/hQB4f8FPiJ4q8XeMryw1zVft\n" +
//                "drHp7zKn2eKPDiSMA5RQejH869Y8T+CfDvjH7L/b+n/bPsu/yf30ke3djd9xhnO1evpVzTfDWg6N\n" +
//                "cNcaXomm2M7IUaS1tUiYrkHBKgHGQDj2FeR/tD67rGif8I5/ZOq31h532nzPslw8W/HlYztIzjJ6\n" +
//                "+poA84+NfhbRvCPjKzsNDs/slrJp6TMnmvJlzJICcuSeij8q83r6X+ClhZ+MfBt5qPii0g1y+j1B\n" +
//                "4EudTjFzIsYjjYIGkyQoLMcdMsfWvSP+EE8H/wDQqaH/AOC6H/4mgD4gr7/r4c8aQQ2vjrxDb28U\n" +
//                "cMEWp3KRxxqFVFErAAAcAAcYr7H8aTzWvgXxDcW8skM8WmXLxyRsVZGETEEEcgg85oA3Kx/EnhbR\n" +
//                "vF2nR2GuWf2u1jlEyp5rx4cAgHKEHox/Ovjj/hO/GH/Q165/4MZv/iqP+E78Yf8AQ165/wCDGb/4\n" +
//                "qgD0D46eCfDvg7+wf7A0/wCx/avtHnfvpJN23y9v32OMbm6etd/+zj/yTzUP+wrJ/wCioq+cNT13\n" +
//                "WNb8r+1tVvr/AMnPl/a7h5dmcZxuJxnA6egr6P8A2cf+Seah/wBhWT/0VFQByHxS+KXjLw58R9W0\n" +
//                "nSdZ+z2MHk+XF9lhfbuhRjyyEnkk8mvd/Cd9can4N0O/vJPMurrT7eaZ9oG52jUscDgZJPSi+8J+\n" +
//                "G9TvJLy/8P6Vd3UmN809lHI7YAAyxGTgAD8K1IIIbW3it7eKOGCJAkccahVRQMAADgADjFAHwJWh\n" +
//                "omt6j4c1iDVtJuPs99Bu8uXYr7dylTwwIPBI5FXPBcEN1468PW9xFHNBLqdskkcihldTKoIIPBBH\n" +
//                "GK+i/i/4T8N6Z8LdZvLDw/pVpdR+Rsmgso43XM8YOGAyMgkfjQBz/wAFPiJ4q8XeMryw1zVftdrH\n" +
//                "p7zKn2eKPDiSMA5RQejH8694r5g/Zx/5KHqH/YKk/wDRsVfT9ABRRRQAUUUUAFFFFABXz/8AtNf8\n" +
//                "yt/29/8AtGvoCvn/APaa/wCZW/7e/wD2jQB0H7OP/JPNQ/7Csn/oqKvIPjb/AMle13/t3/8ASeOv\n" +
//                "X/2cf+Seah/2FZP/AEVFXkHxt/5K9rv/AG7/APpPHQB5/XQeBP8Akofhr/sK2v8A6NWufroPAn/J\n" +
//                "Q/DX/YVtf/Rq0AfT/wAbf+SQ67/27/8ApRHXkH7OP/JQ9Q/7BUn/AKNir1/42/8AJIdd/wC3f/0o\n" +
//                "jryD9nH/AJKHqH/YKk/9GxUAdf8AtD6FrGt/8I5/ZOlX1/5P2nzPslu8uzPlYztBxnB6+hrxD/hB\n" +
//                "PGH/AEKmuf8Agum/+Jr7frl/EnxE8K+EdRjsNc1X7JdSRCZU+zyyZQkgHKKR1U/lQB8kf8IJ4w/6\n" +
//                "FTXP/BdN/wDE0f8ACCeMP+hU1z/wXTf/ABNfT/8Awu34ef8AQw/+SVx/8bo/4Xb8PP8AoYf/ACSu\n" +
//                "P/jdAHzB/wAIJ4w/6FTXP/BdN/8AE0f8IJ4w/wChU1z/AMF03/xNfT//AAu34ef9DD/5JXH/AMbr\n" +
//                "Q0T4peDfEesQaTpOs/aL6fd5cX2WZN21Sx5ZABwCeTQB4x8FLC88HeMrzUfFFpPodjJp7wJc6nGb\n" +
//                "aNpDJGwQNJgFiFY464U+lWP2h9d0fW/+Ec/snVbG/wDJ+0+Z9kuEl2Z8rGdpOM4PX0Ndf+0d/wAk\n" +
//                "80//ALCsf/oqWvAPDHgnxF4x+1f2Bp/2z7Ls8799HHt3Z2/fYZztbp6UAe//ALOP/JPNQ/7Csn/o\n" +
//                "qKvSL7xZ4b0y8ks7/wAQaVaXUeN8M97HG65AIypORkEH8a4/4KeFtZ8I+Dbyw1yz+yXUmoPMqeak\n" +
//                "mUMcYByhI6qfyrwj42/8le13/t3/APSeOgD67gnhureK4t5Y5oJUDxyRsGV1IyCCOCCOc1h+O/8A\n" +
//                "knniX/sFXX/opqPAn/JPPDX/AGCrX/0UtWPFljcan4N1yws4/MurrT7iGFNwG52jYKMngZJHWgD4\n" +
//                "gsbC81O8js7C0nu7qTOyGCMyO2AScKOTgAn8K2P+EE8Yf9Cprn/gum/+Jr1D4W/C3xl4c+I+k6tq\n" +
//                "2jfZ7GDzvMl+1Qvt3Quo4VyTyQOBXu/iTxTo3hHTo7/XLz7JaySiFX8p5MuQSBhAT0U/lQB8cf8A\n" +
//                "CCeMP+hU1z/wXTf/ABNH/CCeMP8AoVNc/wDBdN/8TX1/4Y8beHfGP2r+wNQ+2fZdnnfuZI9u7O37\n" +
//                "6jOdrdPSq/iT4ieFfCOox2Guar9kupIhMqfZ5ZMoSQDlFI6qfyoA+ML6wvNMvJLO/tJ7S6jxvhnj\n" +
//                "MbrkAjKnkZBB/GtSDwX4qureK4t/DWszQSoHjkjsJWV1IyCCFwQRzmvRPG3gnxF8RvF994r8Kaf/\n" +
//                "AGhol/5f2a686OLfsjWNvkkZWGHRhyB0z0r6H8J2Nxpng3Q7C8j8u6tdPt4Zk3A7XWNQwyODgg9K\n" +
//                "APjjwJ/yUPw1/wBhW1/9GrX0/wDG3/kkOu/9u/8A6UR14hoXwt8ZeGfEOma/q+jfZtM0y7ivbyf7\n" +
//                "VC/lQxuHdtquWOFUnABJxwDXf/FL4peDfEfw41bSdJ1n7RfT+T5cX2WZN22ZGPLIAOATyaAOE+AW\n" +
//                "rabo3jq+uNU1C0sYG0yRFkupliUt5sRwCxAzgE49jXV/HT/itf7B/wCEU/4n32T7R9p/sr/SvJ3+\n" +
//                "Xt3+Xnbna2M9dp9K8Y8N+FtZ8XajJYaHZ/a7qOIzMnmpHhAQCcuQOrD86+h/gX4J8ReDv7e/t/T/\n" +
//                "ALH9q+z+T++jk3bfM3fcY4xuXr60AV/gpf2fg7wbead4ou4NDvpNQedLbU5BbSNGY41DhZMEqSrD\n" +
//                "PTKn0rzj4paFrHib4j6tq+gaVfarplx5Pk3thbvPDLthRW2ugKnDKwODwQR2rQ/aO/5KHp//AGCo\n" +
//                "/wD0bLXr/wAEv+SQ6F/28f8ApRJQB8iTwTWtxLb3EUkM8TlJI5FKsjA4IIPIIPGK7jwX4L8VWvjr\n" +
//                "w9cXHhrWYYItTtnkkksJVVFEqkkkrgADnNbniz4QeO9T8Za5f2eheZa3WoXE0L/a4BuRpGKnBfIy\n" +
//                "COtez/8AC7fh5/0MP/klcf8AxugDuL6/s9Ms5Ly/u4LS1jxvmnkEaLkgDLHgZJA/Gsf/AITvwf8A\n" +
//                "9DXof/gxh/8Aiq8v+KXxS8G+I/hxq2k6TrP2i+n8ny4vssybtsyMeWQAcAnk184UAe//AB0/4rX+\n" +
//                "wf8AhFP+J99k+0faf7K/0ryd/l7d/l5252tjPXafSvIP+EE8Yf8AQqa5/wCC6b/4mvQPgX428O+D\n" +
//                "v7e/t/UPsf2r7P5P7mSTdt8zd9xTjG5evrX0P4b8U6N4u06S/wBDvPtdrHKYWfynjw4AJGHAPRh+\n" +
//                "dAHxBfWF5pl5JZ39pPaXUeN8M8ZjdcgEZU8jIIP41qQeC/FV1bxXFv4a1maCVA8ckdhKyupGQQQu\n" +
//                "CCOc16p8Uvhb4y8R/EfVtW0nRvtFjP5Ply/aoU3bYUU8M4I5BHIr3fwnY3GmeDdDsLyPy7q10+3h\n" +
//                "mTcDtdY1DDI4OCD0oA+NJ/Bfiq1t5bi48NazDBEheSSSwlVUUDJJJXAAHOay7GwvNTvI7OwtJ7u6\n" +
//                "kzshgjMjtgEnCjk4AJ/Cvt/xZY3Gp+DdcsLOPzLq60+4hhTcBudo2CjJ4GSR1rwj4W/C3xl4c+I+\n" +
//                "k6tq2jfZ7GDzvMl+1Qvt3Quo4VyTyQOBQBJ8AvDWvaN46vrjVNE1KxgbTJEWS6tXiUt5sRwCwAzg\n" +
//                "E49jXvep67o+ieV/a2q2Nh52fL+13CRb8YzjcRnGR09RWhXj/wAdPBPiLxj/AGD/AGBp/wBs+y/a\n" +
//                "PO/fRx7d3l7fvsM52t09KAPVNN1bTdZt2uNL1C0voFco0lrMsqhsA4JUkZwQce4q5Xm/wU8Laz4R\n" +
//                "8G3lhrln9kupNQeZU81JMoY4wDlCR1U/lXpFABRRRQAUUUUAFfP/AO01/wAyt/29/wDtGvoCvn/9\n" +
//                "pr/mVv8At7/9o0AdB+zj/wAk81D/ALCsn/oqKsf4ifBTxJ4u8d6lrlhe6VHa3XlbEnlkDjbEiHIE\n" +
//                "ZHVT3riPhx8YP+Ff+HrjSf7C+3+ddtc+b9r8rGURduNjf3M5z3rr/wDhpr/qUf8Aypf/AGqgDA/4\n" +
//                "Zx8Yf9BLQ/8Av/N/8arU8NfALxVo3irSNUuNQ0ZoLK9huJFjmlLFUcMQMxgZwPUVb/4aa/6lH/yp\n" +
//                "f/aqP+Gmv+pR/wDKl/8AaqAPQPjb/wAkh13/ALd//SiOvIP2cf8Akoeof9gqT/0bFR42+On/AAmP\n" +
//                "hC+0D/hHPsf2ry/3/wBu8zbtkV/u+WM524696P2cf+Sh6h/2CpP/AEbFQB9P18wftHf8lD0//sFR\n" +
//                "/wDo2Wvp+vL/AIj/AAf/AOFgeIbfVv7d+weTaLbeV9k83OHdt2d6/wB/GMdqAPlCivf/APhmX/qb\n" +
//                "v/Kb/wDbaP8AhmX/AKm7/wApv/22gDwzSdNm1nWbHS7do1nvbiO3jaQkKGdgoJwCcZPoa9k0T4ca\n" +
//                "x8JNYg8ca/c2NzpmmbvOisHd5m8xTEu0OqqfmkUnLDgHr0ry/wACf8lD8Nf9hW1/9GrX0/8AG3/k\n" +
//                "kOu/9u//AKUR0AeSfFn4s6D488K2ul6XaalDPFepcM11GiqVCOuBtdjnLjt61l/B/wCI+j/D/wDt\n" +
//                "n+1ra+m+3eR5f2REbGzzM53Mv98dM965/wCHHgX/AIWB4huNJ/tH7B5No1z5vkebnDou3G5f7+c5\n" +
//                "7VofE34Zf8K5/sv/AIm/9ofb/N/5dvK2bNn+22c7/bpQB9N+CvGum+PNGm1TS4LuGCK4a3ZbpFVi\n" +
//                "wVWyNrMMYcd/WvmT42/8le13/t3/APSeOvX/ANnH/knmof8AYVk/9FRV5B8bf+Sva7/27/8ApPHQ\n" +
//                "B9P+BP8Aknnhr/sFWv8A6KWvP/8Aho7wf/0Ddc/78Q//AB2vQPAn/JPPDX/YKtf/AEUtfGGhaZ/b\n" +
//                "fiHTNJ87yft13Fbebt3bN7hd2MjOM5xkUAfR/wDw0d4P/wCgbrn/AH4h/wDjtcJ8WfizoPjzwra6\n" +
//                "XpdpqUM8V6lwzXUaKpUI64G12OcuO3rUfjb4F/8ACHeEL7X/APhI/tn2Xy/3H2Hy926RU+95hxjd\n" +
//                "np2rj/hx4F/4WB4huNJ/tH7B5No1z5vkebnDou3G5f7+c57UAen/ALMv/M0/9un/ALWrA/aO/wCS\n" +
//                "h6f/ANgqP/0bLW//AMm5/wDUw/27/wBunkeR/wB/N27zvbG3vnjzD4j+Ov8AhYHiG31b+zvsHk2i\n" +
//                "23lef5ucO7bs7V/v4xjtQB9H/BL/AJJDoX/bx/6USV6BXzB4J+On/CHeELHQP+Ec+2fZfM/f/bvL\n" +
//                "3bpGf7vlnGN2Ovat/wD4aa/6lH/ypf8A2qgD2Dx3/wAk88S/9gq6/wDRTV8QV7//AML0/wCE1/4p\n" +
//                "T/hHPsX9t/8AEt+1fbvM8nzv3e/Z5Y3Y3ZxkZxjIo/4Zl/6m7/ym/wD22gDzz4TeNdN8B+KrrVNU\n" +
//                "gu5oJbJ7dVtUVmDF0bJ3MoxhD39K9j/4aO8H/wDQN1z/AL8Q/wDx2uf/AOGZf+pu/wDKb/8Aba4D\n" +
//                "4m/DL/hXP9l/8Tf+0Pt/m/8ALt5WzZs/22znf7dKAO48SeG7z476jH4o8LyQWdjaxDT3j1NjHIZF\n" +
//                "JkJAjDjbiVec5yDx66+ifEfR/hJo8HgfX7a+udT0zd50tgiPC3mMZV2l2Vj8sig5Ucg9etcB8OPj\n" +
//                "B/wr/wAPXGk/2F9v867a5837X5WMoi7cbG/uZznvXX/8Ky/4XH/xXv8Aa/8AZH9q/wDLj9m+0eV5\n" +
//                "X7n/AFm9N2fL3fdGM45xmgDoP+GjvB//AEDdc/78Q/8Ax2vmCtDXdM/sTxDqek+d532G7ltvN27d\n" +
//                "+xyu7GTjOM4yaNC0z+2/EOmaT53k/bruK283bu2b3C7sZGcZzjIoAz66TwV4K1Lx5rM2l6XPaQzx\n" +
//                "W7XDNdOyqVDKuBtVjnLjt6163/wzL/1N3/lN/wDttdh8OPg//wAK/wDENxq39u/b/OtGtvK+yeVj\n" +
//                "Lo27O9v7mMY70AeAeOvhxrHw/wDsH9rXNjN9u8zy/sju2Nm3Odyr/fHTPevb/wBnH/knmof9hWT/\n" +
//                "ANFRV0HxN+GX/Cxv7L/4m/8AZ/2Dzf8Al283fv2f7a4xs9+taHw48C/8K/8AD1xpP9o/b/Ou2ufN\n" +
//                "8jysZRF243N/cznPegDsK8r1b4++FdG1m+0u40/WWnsriS3kaOGIqWRipIzIDjI9BVPxt8dP+EO8\n" +
//                "X32gf8I59s+y+X+/+3eXu3Rq/wB3yzjG7HXtXP8A/Ci/+E1/4qv/AISP7F/bf/Ey+y/YfM8nzv3m\n" +
//                "zf5g3Y3YzgZxnAoA+gKx/FPiSz8I+HLvXL+OeS1tdm9IFBc7nVBgEgdWHetivP8A42/8kh13/t3/\n" +
//                "APSiOgDn/wDho7wf/wBA3XP+/EP/AMdrsPAvxH0f4gfb/wCyba+h+w+X5n2tEXO/djG1m/uHrjtX\n" +
//                "xhXoHwy+Jv8Awrn+1P8AiUf2h9v8r/l58rZs3/7DZzv9ulAH1/RXH/Djx1/wsDw9cat/Z32Dybtr\n" +
//                "byvP83OERt2dq/38Yx2rsKACiiigAooooAK4/wAdfDjR/iB9g/ta5vofsPmeX9kdFzv25zuVv7g6\n" +
//                "Y712FFAHj/8Awzj4P/6CWuf9/wCH/wCNUf8ADOPg/wD6CWuf9/4f/jVewUUAeP8A/DOPg/8A6CWu\n" +
//                "f9/4f/jVH/DOPg//AKCWuf8Af+H/AONV7BRQB4//AMM4+D/+glrn/f8Ah/8AjVdJ4K+E2g+A9Zm1\n" +
//                "TS7vUpp5bdrdlupEZQpZWyNqKc5Qd/Wu8ooAKKKKACiiigDyvSfgF4V0bWbHVLfUNZaeyuI7iNZJ\n" +
//                "oipZGDAHEYOMj1Fd54p8N2fi7w5d6HfyTx2t1s3vAwDja6uMEgjqo7VsUUAcH4K+E2g+A9Zm1TS7\n" +
//                "vUpp5bdrdlupEZQpZWyNqKc5Qd/Wrnjr4caP8QPsH9rXN9D9h8zy/sjoud+3Odyt/cHTHeuwooA5\n" +
//                "vwV4K03wHo02l6XPdzQS3DXDNdOrMGKquBtVRjCDt61zfin4KeG/F3iO71y/vdVjurrZvSCWMINq\n" +
//                "KgwDGT0Ud69IooAp6TpsOjaNY6XbtI0Flbx28bSEFiqKFBOABnA9BXm+k/ALwro2s2OqW+oay09l\n" +
//                "cR3EayTRFSyMGAOIwcZHqK9UooAx/FPhuz8XeHLvQ7+SeO1utm94GAcbXVxgkEdVHaub8FfCbQfA\n" +
//                "eszappd3qU08tu1uy3UiMoUsrZG1FOcoO/rXeUUAcf46+HGj/ED7B/a1zfQ/YfM8v7I6Lnftzncr\n" +
//                "f3B0x3rj/wDhnHwf/wBBLXP+/wDD/wDGq9gooA8f/wCGcfB//QS1z/v/AA//ABqj/hnHwf8A9BLX\n" +
//                "P+/8P/xqvYKKAPK9J+AXhXRtZsdUt9Q1lp7K4juI1kmiKlkYMAcRg4yPUV6pRRQAVx/jr4caP8QP\n" +
//                "sH9rXN9D9h8zy/sjoud+3Odyt/cHTHeuwooA8f8A+GcfB/8A0Etc/wC/8P8A8ar0jwt4bs/CPhy0\n" +
//                "0OwknktbXfsedgXO52c5IAHVj2rYooA8r1b4BeFdZ1m+1S41DWVnvbiS4kWOaIKGdixAzGTjJ9TR\n" +
//                "pPwC8K6NrNjqlvqGstPZXEdxGsk0RUsjBgDiMHGR6ivVKKACiiigAooooA838U/BTw34u8R3euX9\n" +
//                "7qsd1dbN6QSxhBtRUGAYyeijvXeaTpsOjaNY6XbtI0Flbx28bSEFiqKFBOABnA9BVyigArH8U+G7\n" +
//                "Pxd4cu9Dv5J47W62b3gYBxtdXGCQR1Udq2KKAPH/APhnHwf/ANBLXP8Av/D/APGqP+GcfB//AEEt\n" +
//                "c/7/AMP/AMar2CigDm/BXgrTfAejTaXpc93NBLcNcM106swYqq4G1VGMIO3rXSUUUAFFFFABRRRQ\n" +
//                "AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB\n" +
//                "RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//Z");

//        BufferedImage cardImg = null;
//        //输出图片
//        ByteArrayOutputStream outImgStream = new ByteArrayOutputStream();
//        try{
//            if (sb.toString().indexOf(",") == -1){
//                cardImg = ImageIO.read(BASE64ToStream(sb.toString()));
//            }else {
//                cardImg = ImageIO.read(BASE64ToStream(sb.toString().split(",")[CommonConsts.ONE]));
//            }
//            cardImg = clearBackGroud(cardImg);
//            //获取素材
//            Image img = ImageIO.read(BASE64ToStream(getIDCardFaced("https://www.idcgj.com/group1/M08/1D/FE/2hgjXGNMvkSEKUaVAAAAAHcjOi4952.jpg")));
//            int imgWidth = img.getWidth(null);
//            int imgHeight = img.getHeight(null);
//            //获取画笔
//            BufferedImage bufImg = new BufferedImage(imgWidth, imgHeight, BufferedImage.TYPE_INT_RGB);
//            Graphics2D g = bufImg.createGraphics();
//            g.drawImage(img, 0, 0, imgWidth, imgHeight, null);
//            //设置文字格式
//            Font font = new Font("微软雅黑", Font.BOLD, 20);
//            g.setFont(font);
//            g.setColor(Color.WHITE);
//            //其他
//            g.setFont(new Font("微软雅黑", Font.PLAIN, 30));
//            g.drawString("2022年度分包商反向评价，请各项目转发至分包商", 100, 260);
//            g.drawString("并于2022年12月10日完成评价", 100, 300);
//            //二维码
//            g.drawImage(cardImg, 145, 480, 600, 600, null);
//            g.setColor(Color.black);
//            g.setFont(new Font("微软雅黑", Font.PLAIN, 25));
//            g.drawString("通过手机微信/浏览器访问网址如下：", 245, 1085);
//            g.drawString("https://smart.cr19.com/laborLogin?evaluateId=", 160, 1125);
//            g.drawString("1442807320424882176", 160, 1155);
//            g.dispose();
//            File file = new File("D://新建文件夹//二维码.jpg");
//            if (!file.isDirectory()) {
//                file.mkdirs();
//            }
//
//            ImageIO.write(bufImg, "png", file);
//            //ImageIO.write(bufImg, "png", outImgStream);
//            outImgStream.flush();
//            outImgStream.close();
//        }catch (Exception e){
//            e.printStackTrace();
//        }finally {
//            outImgStream.flush();
//            outImgStream.close();
//        }
//        //base64ToMultipart(StreamToBASE64(outImgStream));
    }

}
